php-fastcgi and memory leaks

Phillip B Oldham phill at theactivitypeople.co.uk
Mon Mar 31 16:28:22 MSD 2008


Grzegorz Nosek wrote:
> If you use 'ps auxf', you'll probably see that one of the php-cgi
> processes is the master, with all others hanging off from it as its
> children. By that time, spawn-fcgi is long gone (it called exec...() and
> became the master php process). BTW, do you really see increasing memory
> usage on all the processes including the parent?
>   
Yes, all processes, including the parent. I've set-up 3 children and one 
parent, and all 4 instances slowly grow in size.
> spawn-fcgi isn't really a process manager, it just starts your fastcgi
> server and hopes for the best. Anyway, only the php interpreter is to
> blame here.
>   
Thats what I thought.
> It shouldn't matter at all, the memory used for e.g. php code and
> variables should get properly freed at the end of the request. You might
> leak resources (database connections etc.) though. Are you using any
> non-standard php extensions?
>   
I don't know about non-standard. I'm not using any PECL entensions, but 
I have custom compiled the php instance on the box to include items such 
as IMAP support and turn off things that we don't use. My compile 
options are below:

./configure \
--disable-all \
--disable-ipv6 \
--disable-short-tags \
--disable-cli \
--with-zend-vm=GOTO \
--without-pear \
--enable-inline-optimization \
--enable-fast-install \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-zend-multibyte \
--enable-sigchild \
--enable-libgcc \
--enable-static \
--enable-libxml \
--enable-dom \
--enable-mbstring \
--enable-spl \
--enable-gd-native-ttf \
--enable-exif \
--enable-pdo \
--enable-session \
--enable-simplexml \
--enable-soap \
--enable-sockets \
--enable-zip \
--enable-bcmath \
--enable-ctype \
--enable-json \
--enable-posix \
--enable-reflection \
--enable-tokenizer \
--enable-xml \
--with-config-file-scan-dir=/etc/php5 \
--with-pcre-regex \
--with-pcre-dir \
--with-libxml-dir \
--with-openssl \
--with-kerberos \
--with-zlib \
--with-bz2 \
--with-curl \
--with-curlwrappers \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-ttf \
--with-freetype-dir \
--with-gettext \
--with-imap \
--with-imap-ssl \
--with-xmlrpc \
--with-xsl \
--with-iconv \
--with-mysql=/usr/local/bin \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-pdo-mysql=/usr/bin/mysql_config \
--with-gdbm \
--with-imap \
--with-imap-ssl

Don't know if any of those items are known to cause memory leaks.

-- 

*Phillip B Oldham*
The Activity People
phill at theactivitypeople.co.uk <mailto:phill at theactivitypeople.co.uk>

------------------------------------------------------------------------

*Policies*

This e-mail and its attachments are intended for the above named 
recipient(s) only and may be confidential. If they have come to you in 
error, please reply to this e-mail and highlight the error. No action 
should be taken regarding content, nor must you copy or show them to anyone.

This e-mail has been created in the knowledge that Internet e-mail is 
not a 100% secure communications medium, and we have taken steps to 
ensure that this e-mail and attachments are free from any virus. We must 
advise that in keeping with good computing practice the recipient should 
ensure they are completely virus free, and that you understand and 
observe the lack of security when e-mailing us.

------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: phill.vcf
Type: text/x-vcard
Size: 272 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx/attachments/20080331/2be04798/attachment.vcf>


More information about the nginx mailing list