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

Предотвращение того, чтобы приложение Django вызывало нехватку памяти в Linux

Одному из моих веб-серверов 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, пока вы используете режим демона, вы можете ограничить память отдельных процессов, если операционная система это поддерживает.