Как я могу предотвратить 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
Другие вопросы по тегам