Как я могу предотвратить oom-kill без увеличения RAM
У меня 256 МБ Orange Pi Zero, на котором я хочу запустить OctoPrint. Он запускается и работает какое-то время, затем его убивают из-за нехватки памяти. Я не могу добавить больше ОЗУ, поэтому попытался увеличить размер свопа. Я добавил 1 ГБ, но это не помогает. Также я не понимаю, почему, но у меня одновременно работает "htop", и, судя по тому, что он показывает, своп ("Swp") не используется, и все еще есть свободная 1/3 физической памяти ("Mem") все время. Что происходит. На данный момент меня не волнует производительность. Есть ли способ заставить его работать на свопинге?
1 ответ
Вы можете сказать OOM Killer игнорировать процесс OctoPrint.
echo -17 > /proc/$OCTO_PRINT_PID/oom_adj
См. https://backdrift.org/oom-killer-how-to-create-oom-exclusions-in-linux.
Или вы можете настроить подкачку так, чтобы Linux менял раньше. См. https://www.howtoforge.com/tutorial/linux-swappiness/.
sudo sysctl vm.swappiness=100