일부 소프트웨어를 개발할 때 테스트 중인 프로그램이 때때로 모든 메모리를 차지한 다음 공간을 스왑하고 디스크를 방해하기 시작하여 일반적으로 다른 터미널로 전환하여 로그인하고 수동으로 전환하는 지점까지 예측 가능한 응답 속도 저하를 초래합니다. 프로세스를 종료합니다.
내일이 없는 것처럼 스왑 공간을 차지하기 전에 이 특정 프로세스를 종료하고 싶습니다. 워치독을 사용하여 프로세스를 종료하는 방법에 대해 설명하는 github 페이지를 찾았습니다(사실 이미 완료되었습니다).https://github.com/rfjakob/earlyoom- 이 특정 잘못된 프로그램을 찾아서 종료하기 위해 코드를 약간 변경할 수 있지만 지정된 프로세스의 스왑 공간 사용을 거부하고 종료되도록 할 수 있다면 좋을 것입니다. 더 당황스러운 점은 정상적인 상황에서는 소량의 스왑 공간을 확보하는 것이 우주의 모든 메모리를 소비하려는 경우에만 종료하면 된다는 것입니다.
답변1
나는 당신이 아니라면 스왑 공간을 제한하는 방법이 없다고 생각합니다.스왑 불가능한 메모리만 요청하도록 프로그램을 수정하세요., 가능하더라도 실용적이지 않을 수 있습니다.
그러나 당신이 할 수 있고 해야 할 일은프로세스에 사용 가능한 총 메모리 양을 제한합니다.. 당신은 그것을 사용할 수 있습니다cgroup(새로운 일반 방식),한계값(한도 설정, 전통적인 방식) 또는정지시키다도구.