LINUX.ORG.RU
ФорумAdmin

[mod_wsgi!?] Течет Apache2


0

0

Что-то не припомню такой ситуевины еще со времен 1.3.x, т.е. да бывает течет, но это наверное первый раз когда все так замечательно и легко воспроизводится (ну и сами масштабы утечки). Собственно вот:

webui:~# ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r
%MEM %CPU   RSS    VSZ COMMAND
59.5  0.1 2400364 8331656 /usr/sbin/apache2 -k start
 4.2  0.4 172068 868708 /usr/sbin/mysqld
17.2  0.5 694416 1360180 /usr/sbin/apache2 -k start
 0.1  0.0  4308  98536 sshd: root@pts/0 
 0.0  0.0   984   6820 ps -eo pmem,pcpu,rss,vsize,args
 0.0  0.0   940   9860 more
 0.0  0.0    84  44368 /usr/sbin/exim4 -bd -q30m
 0.0  0.0   748 122468 /usr/sbin/apache2 -k start
 0.0  0.0   728 177144 rsyslogd -c4
 0.0  0.0     4    180 [sort]
 0.0  0.0   304  45076 /usr/sbin/sshd
 0.0  0.0   272  84416 /usr/sbin/apache2 -k start
 0.0  0.0   264  23308 /sbin/init
 0.0  0.0  2220  13176 -bash
 0.0  0.0   160  21068 cron

Имеем виртуалку с Ubuntu Server 10.04, внутри Apache2 + mod_wsgi, MySQL и само приложение на Django. На машине 2 Гб RAM и где-то 8 Гб swap. В конфиге апача только один сайт, который живет на WSGI - все просто и даже примитивно, но все равно течет. Выставлял MaxRequestsPerChild, но все равно что мертвому припарка. Попробую еще другой MPM может повезет?

Собственно вопрос пользователям mod_wsgi, замечали у себя такое? И как лучше отдебажить? Есть ли how-to какое-нибудь как через gdb посмотреть где течет запущенный процесс?

★★★

попробуй вылечить через MaxRequestsPerChild.

Но я бы посоветовал к nginx это прикрутить, апач не нужен.

true_admin ★★★★★
()

mod_wsgi использую довольно активно, течка есть, но не такая большая.
лучше всего, просто ограничить, как уже сказали MaxRequestPerChild

dreamer ★★★★★
()

Течёт скорее всего django и/или сам сайт. Можно протестировать на питоновском HTTP сервере и тестовой нагрузкой на локалхосте. Гугли «django memory leak», среди первых ссылок что-то есть нужное.

mikki
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.