저는 다음과 같은 상황에 처해 있습니다. 암호화된 드라이브가 있는 원격 컴퓨터가 있습니다. 컴퓨터를 다시 시작해야 하는 경우 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
그렇지 않으면 다음을 선택할 수 있습니다.
- 누오항:https://github.com/hakavlad/nohang
- 선택사항:https://github.com/facebookincubator/oomd
- 메모리 부족 모니터:https://gitlab.freedesktop.org/hadess/low-memory-monitor/
- psi 모니터:https://github.com/endlessm/eos-boot-helper/tree/master/psi-monitor
2021-12-21 편집:
- systemd를 사용하는 최신 배포판에는 이제 OOM 킬러가 내장되어 있습니다
systemd-oomd
. 자세한 내용을 참조하세요man systemd-oomd
.