Назад | Перейти на главную страницу

Как сделать OOM Killer более пассивным

Я могу скомпилировать программу с 1 ГиБ ОЗУ на VPS, используя старое ядро ​​2.6.x. Но когда я пытался скомпилировать его на VPS с 1,1 ГиБ ОЗУ и ядром 3.9.x, компилятор всегда убивал OOM Killer.

Как сделать OOM более пассивным?

Убийцу OOM не меняешь - на то есть причина. но что вам следует сделать, так это уменьшить чрезмерную загрузку памяти. По умолчанию это 50% (см. / Proc / sys / vm /overcommit_ratio) для обработки случая, когда программы пытаются потребовать больше памяти, чем им когда-либо нужно. Но если у вас есть хорошо написанные программы, которые требуют только необходимый им объем памяти (или вы используете JVM, которые никогда не выполняют gc, потому что они не знают, что система ограничена в памяти), тогда OOM Killer начинает собирать материал .

Если у вас достаточно места на вашей FS, вы можете добавить временное пространство подкачки к вашей виртуальной машине с помощью:

# fallocate -l 4g /SWAP
# mkswap /SWAP
# swapon /SWAP

Но имейте в виду, что компиляция не будет быстрым процессом, если ваша система активно меняет местами.