php-fpm и память

246 views
Skip to first unread message

Алексей Бобок

unread,
Jan 5, 2013, 12:20:03 PM1/5/13
to highloa...@googlegroups.com
Приветствую.
Есть старый сервер, который давно не трогал:

FreeBSD 7.1-RELEASE-p16
PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 12 2009 01:17:51)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
Собран с php-fpm.

По системному ПО ничего не менялось, только РНР-код сайта.
Какое-то время назад стали появляться сообщения dmesg:
swap_pager: out of swap space
swap_pager_getswapspace(16): failed

В ТОР-е есть необычно толстые процессы php-fpm. Конфиг на всяк случай в аттаче, но там ничего необычного.
Какие есть мысли, что это такое?

last pid: 40854;  load averages:  0.58,  0.62,  0.56   up 2+04:04:40  19:08:59
158 processes: 1 running, 157 sleeping
CPU: 53.2% user,  0.0% nice,  3.9% system,  0.2% interrupt, 42.7% idle
Mem: 2699M Active, 319M Inact, 475M Wired, 78M Cache, 214M Buf, 359M Free
Swap: 2048M Total, 128M Used, 1920M Free, 6% Inuse

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
34046 www         1   4    0   249M   148M accept 1   2:09  0.00% php-cgi
32936 www         1   4    0   249M   148M accept 1   2:22  0.39% php-cgi
34115 www         1   4    0   249M   148M accept 0   2:18  0.00% php-cgi
30121 www         1   4    0   249M   148M accept 0   3:16  0.00% php-cgi
32860 www         1   4    0   249M   147M accept 1   2:29  0.00% php-cgi
32879 www         1   4    0   249M   147M accept 1   2:53  0.00% php-cgi
32920 www         1   4    0   249M   147M accept 0   2:36  0.20% php-cgi
32953 www         1   4    0   249M   147M accept 0   2:33  0.00% php-cgi
32918 www         1   4    0   249M   147M accept 0   2:11  0.39% php-cgi
32867 www         1   4    0   249M   147M accept 0   2:18  0.29% php-cgi
32906 www         1   4    0   249M   147M accept 0   2:57  0.98% php-cgi
29615 www         1   4    0   249M   147M accept 0   3:01  0.59% php-cgi
25789 www         1   4    0   250M   147M accept 0   4:39  0.00% php-cgi
32863 www         1   4    0   249M   147M accept 0   2:27  0.00% php-cgi
32923 www         1   4    0   249M   147M accept 1   2:36  0.00% php-cgi
32894 www         1   4    0   249M   147M accept 0   2:23  0.98% php-cgi
32854 www         1   4    0   248M   147M accept 0   2:47  0.00% php-cgi
32865 www         1   4    0   249M   147M accept 0   2:12  0.00% php-cgi
32909 www         1   4    0   248M   146M accept 0   2:33  0.68% php-cgi
32893 www         1   4    0   248M   146M accept 1   2:12  0.00% php-cgi
36374 www         1   4    0   248M   146M accept 1   1:31  1.66% php-cgi
34476 www         1   4    0   127M 27292K accept 1   2:48  0.00% php-cgi
35074 www         1   4    0   127M 26492K accept 1   2:05  0.00% php-cgi
32932 www         1   4    0   128M 26416K accept 0   2:10  0.00% php-cgi
32983 www         1   4    0   128M 26392K accept 0   2:36  0.00% php-cgi
32948 www         1   4    0   127M 26364K accept 1   2:31  0.00% php-cgi
32930 www         1   4    0   128M 26332K accept 1   2:18  0.00% php-cgi
35479 www         1   4    0   127M 26320K accept 1   1:42  0.20% php-cgi
37812 www         1   4    0   127M 26296K accept 0   1:13  1.46% php-cgi
32968 www         1   4    0   127M 26296K accept 0   2:31  0.78% php-cgi
32957 www         1   4    0   128M 26252K accept 0   2:27  0.88% php-cgi
32843 www         1   4    0   128M 26228K accept 0   2:47  0.68% php-cgi
35981 www         1   4    0   127M 26212K accept 0   1:34  0.10% php-cgi
32887 www         1   4    0   127M 26180K accept 0   2:43  0.00% php-cgi
34245 www         1   4    0   127M 26100K accept 0   2:21  0.59% php-cgi
34381 www         1   4    0   127M 26080K accept 0   2:13  0.29% php-cgi
32862 www         1   4    0   127M 26000K accept 0   2:19  0.49% php-cgi
38236 www         1   4    0   127M 25940K accept 0   0:57  0.00% php-cgi
32951 www         1   4    0   127M 25840K accept 1   2:32  0.29% php-cgi
32864 www         1   4    0   127M 25824K accept 0   2:35  0.00% php-cgi
32955 www         1   4    0   127M 25812K accept 1   2:37  0.29% php-cgi
33857 www         1   4    0   127M 25804K accept 1   2:02  0.00% php-cgi
32892 www         1   4    0   127M 25800K accept 0   2:24  0.10% php-cgi
33836 www         1   4    0   127M 25792K accept 1   2:14  0.20% php-cgi
32877 www         1   4    0   127M 25748K accept 0   2:28  0.00% php-cgi
32928 www         1   4    0   127M 25708K accept 0   2:20  0.78% php-cgi
32949 www         1   4    0   127M 25672K accept 0   2:32  0.00% php-cgi
34114 www         1   4    0   127M 25636K accept 1   2:16  0.00% php-cgi
32935 www         1   4    0   127M 25620K accept 0   2:32  0.10% php-cgi
32984 www         1   4    0   127M 25604K accept 1   2:16  0.00% php-cgi
38553 www         1   4    0   127M 25544K accept 1   0:54  0.49% php-cgi
34041 www         1   4    0   126M 25540K accept 1   2:11  0.00% php-cgi
32985 www         1   4    0   127M 25536K accept 0   2:30  0.00% php-cgi
32868 www         1   4    0   127M 25528K accept 0   2:25  0.78% php-cgi


###########################

# php -m
[PHP Modules]
curl
date
dom
eAccelerator
exif
fileinfo
ftp
gd
iconv
json
libxml
mbstring
memcache
mysql
pcre
posix
Reflection
session
SimpleXML
sockets
SPL
standard
uploadprogress
xml
xmlreader
xmlrpc
xmlwriter
xsl

[Zend Modules]
eAccelerator

##########################
# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package        Version State
memcache       2.2.5   stable
uploadprogress 0.9.2   beta



--
 Think before you print.
Best regards, Alexey Bobok.
php-fpm.conf

fixxxer

unread,
Jan 5, 2013, 7:14:47 PM1/5/13
to highloa...@googlegroups.com


On Saturday, January 5, 2013 9:20:03 PM UTC+4, Alexey Bobok wrote:
Приветствую.
Есть старый сервер, который давно не трогал:
swap_pager: out of swap space
swap_pager_getswapspace(16): failed

В ТОР-е есть необычно толстые процессы php-fpm. Конфиг на всяк случай в аттаче, но там ничего необычного.
Какие есть мысли, что это такое?

Что-то где-то наликало. Воткнуть graceful restart в крон и забыть. Вряд ли поиск утечек памяти в музейной версии php кому-то интересен (впрочем, если интересен, есть changelog и багтрекер). 

Владимир Стафиевский

unread,
Jan 6, 2013, 2:38:21 AM1/6/13
to highloa...@googlegroups.com
Поменяйте значение max_requests в конфиге на 500 и "необычно толстых" воркеров не будет.

6 января 2013 г., 4:14 пользователь fixxxer <fixx...@gmail.com> написал:



--
С уважением,

Владимир Стафиевский

Alexey V. Karagodov

unread,
Jan 7, 2013, 12:21:54 PM1/7/13
to highloa...@googlegroups.com
в старом примере конфига фпм точно был каммент мол "рекомендуется" ограничивать макс кол-во запросов ибо текло, течёт и будет течь всегда 
в новом я тоже что-то такое видел, мол не ставьте "0", будет плохо 

On 06.01.2013, at 0:50, alextop <alex...@gmail.com> wrote:


Я думаю, самое очевидное - в каком-то скрипте потекла память.

В 5.2 нет сборщика мусора, да и в 5.3 он иногда не чистит память. У меня, к примеру, на 2х серваках с одинаковой версией php один течет, а второй нет.

Ищите что менялось, текут как правило циклические ссылки (5.3 по идее с ними должен разбираться).

Решение-костыль - ограничить кол-во запросов на процесс или перезапускать php время от времени.
Reply all
Reply to author
Forward
0 new messages