В этом документе я вижу следующее утверждение:
Если вы увеличите размер своих экземпляров tmpfs, машина будет заблокирована
обработчик OOM не сможет освободить эту память.
Однако, похоже, это не то, что я нашел на своей машине с Linux Я перемонтировал /dev/shm
в моей машине с очень большим размером (намного большим, чем общая физическая память машины), например: sudo mount -o remount,size=512G /dev/shm
, а затем связал его с /tmp
(sudo mount --bind /dev/shm /tmp
) и запустил dd
чтобы записать большие файлы в /tmp
, я обнаружил, что процесс dd
может быть убит OOM killer:
$ dmesg
...
[ 1184.989896] Out of memory: Kill process 3101 (dd) score 204 or sacrifice child
[ 1184.989957] Killed process 3101 (dd) total-vm:2104672kB, anon-rss:2097192kB, file-rss:1456kB, shmem-rss:0kB
[ 1185.067934] oom_reaper: reaped process 3101 (dd), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Таким образом, OOM killer может успешно завершить процесс, который использует общую память.