I've been seeing these strange issue on several machines recently where the
Apache processes are growing in size steadily over time.
If I run a pmap on them, they all have a large amount of anon shared memory
being used.
r...@host [~]# pmap -d 11886 | sort -rnk2|head
mapped: 90908K writeable/private: 69444K shared: 592K
08125000 67012 rwx-- 0000000008125000 000:00000 [ anon ]
b747b000 7244 r-x-- 0000000000000000 000:00075 libphp5.so
b6d6e000 1336 r-x-- 0000000000000000 000:00075 libxml2.so.2.7.6
b6a0f000 1324 r-x-- 0000000000000000 000:00075 ZendOptimizer.so
b7be3000 1192 r-x-- 0000000000000000 000:00075 libc-2.3.4.so
b6f19000 1004 rwx-- 0000000000056000 000:00075 libmysqlclient.so.15.0.0
b6b70000 944 r-x-- 0000000000000000 000:00075 ioncube_loader_lin_5.2.so
b7133000 876 r-x-- 0000000000000000 000:00075 libX11.so.6.2
08048000 868 r-x-- 0000000000000000 000:00075 httpd
This anon shared memory is common across all Apache children as I am
obviously running libphp5.
So my question is, is this mod_php doing it? Is there a way to stop this?
I asked about this on irc and other places and the only suggestion was to
set the MaxReqPerChild lower. I set this to 50 but it doesn't seem to have
done anything. The only way it clears is if i stop apache completely.
r...@host [~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Mar 19 2010 20:20:01
Cpanel::Easy::Apache v3.2.0 rev5041
r...@host [~]# php -v
PHP 5.2.13 (cli) (built: Mar 19 2010 20:29:27)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v3.3.14, Copyright (c) 2002-2010, by ionCube
Ltd., and
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend
Technologies
Chris