
나는 사용하고있다MX 리눅스며칠 동안 문제가 있는 동작을 발견했습니다.갑자기여러 프로세스가 있었습니다.자동으로 살해. 그러기 위해서는 많은 어려움에 직면해야 했습니다. 그것을 막을 방법이 있나요? 프로세스를 자동으로 종료하고 싶지 않습니다. 문제를 해결하도록 도와주세요.
답변1
그것을 막을 방법이 있나요?
불행히도 없습니다.
그 근거는 다음과 같습니다. 시스템에 메모리가 완전히 부족해지면 가장 간단한 명령조차 실행할 수 없기 때문에 시스템이 정지되어야 합니다. 그러려면 메모리 할당이 필요하기 때문입니다. 그만큼OOM-Killer는 시스템을 죽이는 방식으로 시스템을 완전히 사용할 수 없게 되는 것을 방지하도록 설계되었습니다(일부 기준).경험적 방법- 다른 사람들은 무작위로 말할 수도 있음) 메모리를 확보하는 프로세스입니다. 이렇게 하면 관리자는 최소한 재부팅할 필요 없이 시스템을 사용 가능한 상태로 되돌리려고 시도할 수 있습니다. 이 기능을 완전히 비활성화하는 것은 구현되지 않았습니다(참조:StackOverflow에 대한 이 답변).
문제를 완화하기 위해 다음을 시도할 수 있습니다.
top
또는 유사한 시스템 모니터를 사용하여 어떤 프로그램이 메모리를 먹기 시작하는지 조사하십시오. 자신이 직접 작성한 것이라면 메모리 관리에 오류가 발생하여valgrind
. 타사 프로그램인 경우 리소스를 제한해 볼 수 있습니다(답변 참조).이 질문, 예를 들어) 최소한 시스템 전반에 영향을 미치지 않도록 해야 합니다.- OOM 킬러의 설정을 조정해 보십시오. 예:과잉 커밋하지만 부작용이 있을 수 있다는 점에 유의하세요.
- 스왑 공간을 늘리십시오(Ipor Sircer의 설명 참조). 그러나 이렇게 하면 시스템이 매우 느려집니다.
하드웨어가 궁극적으로 작업을 수행할 수 없는 경우 업그레이드를 고려해야 할 수도 있습니다.