ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mod_perl - утечка памят и.



On Fri, Aug 17, 2007 at 01:16:07AM +0400, Аркадий Кулев wrote:

> Создал отдельную конфигурацию для nginx только для использования встроенного 
> перла.
> Создал несколько .pm модулей и запрашиваю их по мере необходимости.
> 
> Каждый модуль использует "use strict;".
> 
> Модули довольно нагруженные, у каждого примерно такой набор заголовков - 
> use strict;
> use nginx;
> use File::stat;
> use WWW::Curl::Easy;
> use DBI;
> use Image::Size;
> use GD::Image;
> use Image::Epeg;
> use HTTP::Request::Common;
> use LWP::UserAgent;
> 
> как видите - используется для редактирования изображений и файловых операций 
> типа принять отправить по HTTP.

DBI, Curl, Request - это будет блокировать рабочие процессы на время ожидания
ответа.

> Стал замечать, что процессы nginx постепенно поглощают всю свободную память и 
> через 30-60 минут уходят в свап.
> 
> $r->variable не использую, все переменные задекларированы через my.
> 
> приходится каждые полчаса отправлять в nginx сигнал SIGHUP дабы 
> перезапускался.
> наверное было бы здорово добавить в настройки воркеров такую функцию как 
> максимальное количество соединений, после которого наступает перезагрузка 
> воркера, на случай утечки.

Вообще правильнее завершать обработку после выхода на определённый размер
виртуальной памяти, а getrusage() такого параметра не даёт. Использовать
RSS не всегда даст нужный результат, так как процесс может постепенно
уходить в своп и иметь небольшой RSS, постоянно дёргая диск.

> а так - конечно хотелось бы чтобы ее вообще не было.

Это к авторам перла. Можно попробовать пересобрать перл с -Dusemymalloc=no


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.