URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2819
[ Назад ]

Исходное сообщение
"Гуру, куда апач расходует память?"

Отправлено vapetrov , 13-Ноя-04 05:58 
Вопрос к гуру :)

Есть сервер linux + apache 1.3 + php

В процессе работы (скажем через час-два после ребута) с помощью top я обычно наблюдаю приблизительно такую картину (своп отключен):
154 processes: 151 sleeping, 3 running, 0 zombie, 0 stopped
Mem:  1019408k av, 1011132k used,    8276k free,  14408k buff, 282100k cached

Процессы апача обычно вот такие (по ps awwux):
nobody   17430  0.0  0.7 22828 7728 ?        S    01:00   0:02 /usr/local/apache/bin/httpd -DSSL
nobody   24523  0.0  1.1 26964 12112 ?       S    01:17   0:03 /usr/local/apache/bin/httpd -DSSL

Если я сделаю `apachectl restart` то через пару минут в top я увижу вот такую картину:
152 processes: 149 sleeping, 3 running, 0 zombie, 0 stopped
Mem:  1019408k av,  772632k used,  246776k free, 24048k buff, 365936k cached

Процессы апача (по ps) в среднем выглядят также, как и до перезагрузки.

То есть, по сути после перезагрузки количество процессов осталось практически то же (плюс-минус несколько), памяти каждый процесс занимает вроде бы столько же.

Но...

Вопрос: откуда взялось ~200 мегабайт свободной памяти?

Или вопрос в другой форме: куда исчезнут мои 200 метров памяти после ~часа работы?


Содержание

Сообщения в этом обсуждении
"Гуру, куда апач расходует память?"
Отправлено Keeper , 15-Ноя-04 14:36 
Попробуй такой тест.
1. Перезапусти апач.
2. Померяй память.
3. Зайди на 5-6 своих сайтов на этом сервере, желательно, где есть объемные скрипты - движки, порталы, форумы и т.п.
4. Померяй память еще раз.

Что наблюдается?


"Гуру, куда апач расходует память?"
Отправлено vapetrov , 15-Ноя-04 15:47 
>Попробуй такой тест.
Спасибо за помощь :)
Это я сгоряча поспешил тему создать. Уже разобрался. С математикой все в порядке: процессы таки "растут" со временем, т.к. php на освобождает память после отработки скрипта, оставляя ее "на всякий случай".
Проблему удалось до некоторой степени решить путем:
KeepAlive Off
MaxRequestsPerChild 100

хотя конечно радикальный метод - это апгрейдить память....


"Гуру, куда апач расходует память?"
Отправлено Keeper , 15-Ноя-04 16:03 
>Проблему удалось до некоторой степени решить путем:
>KeepAlive Off
>MaxRequestsPerChild 100

В качестве полумеры можно попробовать оставить KeepAlive On, но уменьшить KeepAliveTimeout, скажем, до 5 секунд.


"Гуру, куда апач расходует память?"
Отправлено Keeper , 17-Ноя-04 09:33 
Также см. похожий топик:
http://www.opennet.me/openforum/vsluhforumID8/2814.html