OOM_KILLER는 언제 호출되나요?

OOM_KILLER는 언제 호출되나요?

현재 제가 겪고 있는 상황은 사용되지 않은 RAM이 있는 동안 OOM_KILLER가 호출되는 것입니다. "시스템에 더 이상 메모리가 없을 때" 이런 일이 발생한다는 것을 알고 있지만 그 정의는 무엇입니까? 이것이 교환과 어떤 관련이 있습니까?

가상 메모리가 64GB 정도(우연)에 도달했을 때 일어나는 것 같은데, 이는 시스템에 설치된 RAM 용량과 동일합니다. 나는 이것으로 끝났습니다 :

[Fri Jan 11 02:11:48 2019] Killed process 28863 (java) total-vm:65134452kB, anon-rss:18437996kB, file-rss:0kB, shmem-rss:0kB

anon-rss가 실제 사용된 RAM인 경우 사용할 공간이 40GB 이상 남지만 OOMK는 계속 실행됩니다. 왜 그런 겁니까? 64GB는 일종의 마법 장벽인가요? 아니면 vmem이 물리적 메모리 크기를 초과했기 때문입니까?

관련 정보