Одному из моих веб-серверов Linux недавно не хватило памяти, он завис в безумии OOM kill, и его пришлось перезагрузить. Это VPS на 512 МБ, но он работает без проблем с тех пор, как был настроен несколько месяцев назад. Как я могу предотвратить повторение этого?
Мне не удалось выяснить из журналов, какой процесс был причиной. Были убиты процессы mysqld, а затем apache2. Судя по тому, что работает на коробке, я думаю, что что-то пошло не так в одном из приложений Django (работающих под apache и mod_wsgi). Ограничит размер стека (с stack-size
вариант до wsgi) помогите? Можно ли вообще ограничить использование памяти wsgi, python или apache? (Ответы на этот вопрос скажи "нет.)
Не запускайте приложение WSGI во встроенном режиме с предварительным форком MPM, если вы используете его, используйте режим демона, чтобы количество процессов было ограничено. Читать:
http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html
В версии 4.0 mod_wsgi, пока вы используете режим демона, вы можете ограничить память отдельных процессов, если операционная система это поддерживает.