단일 또는 몇 가지 중요한 시스템 서비스 데몬으로 일부 Linux 서버를 실행하는 경우 이상한 일이 발생할 경우 데몬 프로세스에서 OOM 킬러를 조정하고 싶습니다. 예를 들어, 오늘날 MySQL을 실행하는 일부 Ubuntu 서버는 수많은 apt-checker
프로세스 가 모든 메모리 를 소비하고 커널이 MySQL을 죽이는 것이 좋다고 생각 했기 때문에 MySQL 데몬을 종료 했습니다.
나는 /proc/$(pidof mysqld)/oom_score_adj
파일을 사용하여 점수를 조정하여 커널이 MySQL을 죽이기를 원하지 않는 단서를 제공 할 수 있지만 서비스를 다시 시작해도 살아남지 못한다는 것을 알고 있습니다. 이러한 조정을 포함하도록 패키지에서 init / upstart 스크립트를 편집해야합니까? 패키지에 속한 파일을 조정할 때 매우 우아한 해결책이라고 생각하지 않습니다. 일반적으로 upstart / init 스크립트에 연결하여 조건부로 조정할 수 있습니까? 아니면 while true{ adjust_oom(); sleep 60;}
? 와 같은 무기한 스크립트를 실행하는 것이 좋습니다 .