Добрый день!
Заметил следующую особенность.
Так случилось, что мне нужно писать довольно в большое число
лог-файлов с буферизацией.
Сразу после запуска nginx выделяет себе порядка 45 мегабайт памяти под
буферы (т. е. с выключенной буферизацией размер каждого воркера
показывается на 45 меньше). После того как я первый раз делаю HUP -
размер памяти скачкообразно вырастает примерно в два раза, и далее
плавно растет (по 100-150 килобайт) после каждого HUP.
Если для всех этих логов выключить буферы - то столько памяти сразу не
расходуется, однако прирост по 100-150 кб после HUP все равно
присутствует.
Случилось это у меня на Linux с ядром 2.6, однако проверил - на
FreeBSD 6 - примерно так же утекает память.
О! Похоже, что не у одного меня такая проблема...
Рост есть, он стабилен.... У меня -HUP делается в среднем каждые 5-10
минут... (так надо - конфигурация реально меняется так частно).
У меня
ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
после четырёх -HUP показывает такие размеры основного процесса:
466 1 0.0 11456 pause nginx: master process /usr/local/nginx/nginx
466 1 1.7 11160 pause nginx: master process /usr/local/nginx/nginx
466 1 2.9 11260 pause nginx: master process /usr/local/nginx/nginx
466 1 3.8 11132 pause nginx: master process /usr/local/nginx/nginx
466 1 1.8 11264 pause nginx: master process /usr/local/nginx/nginx
Игорь Сысоев
http://sysoev.ru