배고픈 애플리케이션을 위한 메모리 워치독

배고픈 애플리케이션을 위한 메모리 워치독

저는 다음과 같은 상황에 처해 있습니다. 암호화된 드라이브가 있는 원격 컴퓨터가 있습니다. 컴퓨터를 다시 시작해야 하는 경우 OS가 로드되기 전에 SSH를 통해 액세스할 수 있는 방법이 없기 때문에 암호 해독 암호를 입력하기 위해 물리적으로 존재해야 합니다.

이를 염두에 두고 나는 PC를 사용하여 내 를 실행합니다 jupyter notebook. 유일한 문제는 때때로 사용 가능한 모든 메모리(32G)를 빠르게 소모하는 코드 조각을 실행하게 된 다음 컴퓨터가 응답하지 않는다는 것입니다. 액세스합니다.

나는 대학에서 루프에서 자체적으로 시작되는 C 프로그램(기본적으로 RAM을 많이 사용하는 프로그램)을 작성했던 것을 기억합니다. 프로그램은 사용 가능한 모든 메모리를 소진하고 PC를 충돌시키기 전에 감시 데몬에 의해 종료되었습니다. 이 목표를 달성하려면 어떻게 해야 합니까? 놀다 ulimit? 이것은 너무 단순한 것 같습니다.

Artem의 제안 덕분에 나는 그가 제안한 솔루션을 찾았습니다. Earlyoom이 문제를 해결할 수 있을 것 같습니다. https://www.reddit.com/r/linux/comments/d2nssy/a_userspace_outofmemory_killer_oomd_020_released/

답변1

개인적으로 가장 좋아하는 것은 earlyoom입니다(Fedora 32에 기본적으로 포함되어 활성화되어 있습니다).https://github.com/rfjakob/earlyoom

그렇지 않으면 다음을 선택할 수 있습니다.

2021-12-21 편집:

  • systemd를 사용하는 최신 배포판에는 이제 OOM 킬러가 내장되어 있습니다 systemd-oomd. 자세한 내용을 참조하세요 man systemd-oomd.

관련 정보