Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: neom от 01 Августа 2014, 08:58:21



Название: nomake.pl утечка памяти
Отправлено: neom от 01 Августа 2014, 08:58:21
Доброго времени суток всем.
Возникла интересная проблема со скриптом nomake.pl на новой фре.
История такая, работало все на старой машине с фрей 8.0 x86, стало нехватать ресурсов, решили перенести на новый тазик, собрали шасси с парой ксеонов 5639 и 16гиг мозгов, фрю поставили 9.3 64bit.
Накатил все до актуальных версий и порты и сырцы, и перенес старый ноудени 50.32 целиком на этот таз, просто забэкапил все файлы, конфиги, БД и залил на новый сервер.
инфо:
FreeBSD 9.3-RELEASE amd64
perl5-5.16.3_11
mysql56-server-5.6.19
Пришлось в скриптах где используется функция qw добавить () т.к. в новом перле изменился синтаксис.

Итого что получилось, вроде все работает стабильно но примерно раз в день выпадает скрипт nomake.pl с кучей записей предварительных в логах:
Код:
kernel: swap_pager_getswapspace(16): failed
и потом
Код:
kernel: pid 1970 (perl5.16.3), uid 0, was killed: out of swap space
смотрю в топе почти всю память на сейчас скушало:
Код:
last pid: 10987;  load averages:  0.33,  0.29,  0.25                                                                                                                         up 0+13:29:27  09:13:41
45 processes:  1 running, 44 sleeping
CPU:  0.0% user,  0.0% nice,  0.1% system,  0.0% interrupt, 99.9% idle
Mem: 12G Active, 1269M Inact, 1077M Wired, 275M Cache, 1676M Buf, 482M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
 3120 root          1  20    0 11329M 11306M nanslp 11 166:02   6.88% perl5.16.3
 1682 root          1  20  -15 89048K 39912K nanslp  2  10:22   2.20% perl5.16.3
 1659 mysql        29  20    0 11540M  1323M select 11  20:57   0.98% mysqld
 1797 root          1  20  -15 60376K 14216K nanslp 21   7:10   0.00% perl5.16.3
 1258 root          1  20    0 70572K  8412K select 10   0:40   0.00% snmpd
 1676 root          1  20  -15 58348K 10056K select  7   0:27   0.00% perl5.16.3
 1689 root          1  20    0 18176K  3096K select 23   0:06   0.00% flow-capture
Код:
 ps axf | grep no
    2 ??  DL       0:00.00 [ciss_notify0]
 1689 ??  Ss       0:05.77 /usr/local/bin/flow-capture -n1 -N0 -R /usr/local/nodeny/netflow_8888.pl -w /var/db/flows -p /var/run/flow-capture/flow-capture.pid 0.0.0.0/0.0.0.0/8888
 1797 ??  S<       7:18.45 perl noserver.pl (perl5.16.3)
 4733 ??  Is       0:00.00 /usr/local/sbin/dhcpd -q -cf /usr/local/nodeny/dhcpd.conf -lf /var/db/dhcpd/dhcpd.leases -pf /var/run/dhcpd/dhcpd.pid -user dhcpd -group dhcpd igb1
 1665 v0- I        0:00.00 sh go.sh noserver
 1674 v0- I        0:00.00 sh go.sh nol2auth
 1676 v0- S<       0:27.13 perl nol2auth.pl (perl5.16.3)
 1680 v0- I        0:00.00 sh go.sh nodeny
 1682 v0- S<      10:34.90 perl nodeny.pl (perl5.16.3)
 3118  0- I        0:00.00 sh gonomake.sh nodhcp
 3120  0- S      170:24.30 perl nomake.pl nodhcp (perl5.16.3)

Кто сталкивался с такой проблемой? Или может подобное что-то замечал?


Название: Re: nomake.pl утечка памяти
Отправлено: neom от 01 Августа 2014, 14:51:45
Понаблюдал за поведением процесса каждый период генерации конфига (у меня это 2 минуты) размер процесса увеличивается на 32Мб, такое ощущение что он выгребает из базы все данные потом генерит конфиг и после не освобождает память и так раз за разом пока память не заканчивается.


Название: Re: nomake.pl утечка памяти
Отправлено: neom от 02 Сентября 2014, 08:41:05
Проблему решил, почему-то на новом перле 5.16 была такая проблема, заменил перл на 6.14 и все ушло.
P.S. Странно что на другом сервере с аналогичным конфигом и тем же софтом нет такой проблемы.


Название: Re: nomake.pl утечка памяти
Отправлено: Efendy от 02 Сентября 2014, 09:15:23
ты поставил 6й перл???


Название: Re: nomake.pl утечка памяти
Отправлено: neom от 23 Сентября 2014, 14:14:16
Сорри опечатался :) нет я поставил 5.14.

Кстати сейчас вот собирал сателлит и ставил на него фрю ту же и минимальный набор для сателлита, на нем тоже крутится тот же nomake, и с ним такой беды нет, версия перла perl5-5.16.3_11.
Правда пока и абонентов там нет пару тестовых аккаунтов посмотрим что будет дальше.
Поэтому непонятно в чем была причина в перле или еще в чем после даунгрейда перла на основном биллинге я пересобрал все что от него зависело.