2013-07-08 3 views
2

나는 여러 도메인의 서버와 일련의 cron 스크립트를 실행하는 서버 (우분투)가 있습니다. 그러나 서버의 부하를 예측할 수 없으므로 cron 스크립트에서 적정량의로드를 설정할 수 없습니다.서버로드 균형 조정 스크립트

그러나 cron에서 실행되는 스크립트는 때때로 과부하가 걸리고 CPU와 메모리 모두에서 막대한 부하가 발생하여 서버의 여러 서비스가 중지됩니다 (예 : 메일 서버).

질문 : 서버로드가 최소 임계 값 미만인 경우에만 cron에있는 루틴을 실행하는 스크립트를 작성하려면 어떻게해야합니까? Linux에서이 작업을 수행하는 응용 프로그램이 있습니까?

감사합니다.

+0

프로세스를 다시 시도해 보셨습니까? – mnagel

+0

예, 실제로 스크립트를 단순화하려고 시도했지만 반복 작업에 1 분 또는 15 분이 걸릴지 예측할 수 없으므로 cron에서 실행되는 여러 스크립트가 동시에 실행될 때 서버에 막대한 부하가 발생합니다 – Mike

답변

1

monit 시스템 관리를 확인할 수 있습니다. 당신은 당신의 설정 파일에이를 추가 할 수 있습니다

 


    # Monitoring the apache2 web services. 
    # It will check process apache2 with given pid file. 
    # If process name or pidfile path is wrong then monit will 
    # give the error of failed. tough apache2 is running. 
    check process apache2 with pidfile /var/run/apache2.pid 
    start program = "/etc/init.d/apache2 start" 
    stop program = "/etc/init.d/apache2 stop" 
    # Admin will notify by mail if below of the condition satisfied. 
    if cpu is greater than 60% for 2 cycles then alert 
    if cpu > 80% for 5 cycles then restart 
    if totalmem > 200.0 MB for 5 cycles then restart 
    if children > 250 then restart 
    if loadavg(5min) greater than 10 for 8 cycles then stop 
    if 3 restarts within 5 cycles then timeout 
    group server 

그것은 좋은 도구이며, 당신이 당신의 자신의 스크립트를 실행하는 방법을 검색 할 수 있습니다 때 조건 만족.