데비안에서 특정 시간 동안 크론 작업이 실행되는 것을 방지하는 방법은 무엇입니까? ( ‘게임’/ ‘성능 모드’) 차지합니다. 이제는 전체 CPU 용량이 필요한 특정

cron 작업으로 로그 검사를 설정하고 프로세스 grep가 실행될 때마다 logcheck내 CPU의 약 1/4을 차지합니다.

이제는 전체 CPU 용량이 필요한 특정 시간이 있으며 시스템이 특정 / 프로세스를 제외하고 가능한 한 적은 리소스를 차지하게합니다 (어떻게 든 지정할 수 있음).

KDE 시스템과 함께 데비안 9.1을 사용자가 명시 적으로 시작하지 않은 프로세스가 많은 시스템 리소스를 차지하지 못하게하고 백그라운드 프로세스의 부하를 줄이고 가장 중요한 성능 모드 (또는 ‘게임 모드’)로 설정할 수 있습니까? : 해당 모드가 다시 중지 될 때까지 cron 작업을 지연합니까?



답변

“확실한 시간”이 고정되어 있지 않은 경우, 시스템이 “성능 모드”에 들어가고 나올 때 수동으로 지정하려면 간단히 중지하고 시작할 수 있습니다 cron.

sudo systemctl stop cron

cron 작업이 실행되지 못하게하고

sudo systemctl start cron

다시 활성화합니다.

anacron대신에 체크 아웃 cron할 수도 있습니다. 용도에 맞는 방식으로 전 세계적으로 조정하는 것이 더 쉬울 수 있습니다.


답변

나는 두 가지 접근법을 고려할 것이다.

  1. 그대로 일정을두고 있지만, 모든 실행 cron중인 작업을 nice가능성도하고 ionice:

    0 * * * *    root    ionice -c3 nice /some/command and parameters
    
  2. cron특정 시간 동안 작업을 금지하십시오 . 플래그 파일을 만들거나 제거 할 수있는 모든 사용자가이 방법을 제어 할 수 있습니다. 게임 시작 스크립트에 및 명령을 추가하여 필요에 따라 설정되는 게임 모드를 사용하려는 경우에는 효과가있을 수 있습니다 . ( 대신 에 사용해야 할 수도 있지만 모든 사용자에게 공개적으로 열려 있습니다.)touchrm/tmp/var/run

    0 18 * * *      root    touch /var/run/no_cron
    0 19 * * *      root    rm -f /var/run/no_cron
    
    0 * * * *       root    test ! -f /var/run/no_cron && /some/command...
    

일단 설정되면 두 가지 방법 모두 루트 액세스가 필요하지 않습니다. 또한이 제어를 받아야하는 작업과 그렇지 않은 작업을 미리 결정할 수 있습니다.


답변