지난 두 달 동안 저는 Ubuntu VPS의 예상치 못한 "정지"와 관련된 문제를 조사해 왔습니다.
어찌된 일인지 내 VPS가 작동을 멈추고 제어할 수 없는 상태가 되었습니다. 이 문제는 수동으로 시스템을 다시 시작해야만 해결할 수 있었습니다.
문제가 메모리 누수와 관련된 것이라고 생각하여 sysctl에 다음 변수를 추가하여 문제를 해결하기로 결정했습니다.
# panic kernel on OOM
vm.panic_on_oom=1
# reboot after 10 sec on panic
kernel.panic=10
처음에는 문제가 해결된 줄 알았는데(패닉 모드와 관련이 있다고 생각해서) 보니 그렇지 않더군요.
다음은 내 VPS 사용량 그래프입니다. CPU가 몇 초 내에 100%에 도달하는 것을 볼 수 있습니다.
두 번째 시도는 VPS에 Monit를 추가하고 특정 양의 메모리/CPU를 사용한 후 특정 서비스를 중지하여 이러한 일이 발생하지 않도록 몇 가지 규칙을 사용하는 것이었습니다. 그러나 나는 그것을 해결하지 못했습니다.
문제가 무엇인지 모르겠습니다. VPS가 제어되지 않는 상태에 있을 때 시스템을 자동으로 다시 시작하려면 어떻게 해야 합니까?
고쳐 쓰다:
내 Monit 구성의 예는 다음과 같습니다.
if cpu usage > 50% for 2 cycles then alert
if cpu usage > 60% for 2 cycles then restart
if memory usage > 70% for 4 cycles then alert
if memory usage > 80% for 4 cycles then restart