RE: [PHP-DEV] Forced garbage collection

From: Date: Thu, 29 Jun 2000 18:49:38 +0000
Subject: RE: [PHP-DEV] Forced garbage collection
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-22891@lists.php.net to get a copy of this message
The only way for PHP to leak memory like this is if a 3rd party library which does not use PHP's memory management routines are leaking. In your case it sounds like there might be a problem in libxml, or it could be a problem in the way PHP is using the libxml API. As for your Apache recycling question, set your MaxRequestsPerChild to a lower (non-zero) value. -Rasmus > Ok. I know it obvious that I need to retest this problem on 4.0.1. > However, I take it from both Andi and Rasmus' response that garbage > collection should definately have occured by the end of the script. Also, > there is presumably no way to force garbage collection at the end of a > script becuase it should have happened anyway. > > I seem to recall that there was some way or forcing apache daemons to > recycle. Does anyone recall how to do this? Or, if it is even possible? > > Thanks > > > > -----Original Message----- > > From: Andi Gutmans [mailto:andi@zend.com] > > Sent: Thursday, June 29, 2000 11:19 AM > > To: Peter Kocks > > Cc: php-dev@lists.php.net > > Subject: Re: [PHP-DEV] Forced garbage collection > > > > > > Actually PHP is supposed to clean up after itself at the end of the > > request, it does so since PHP 3 (maybe even PHP/FI 2). > > How about upgrading to PHP 4.0.1 and mailing us again with new > > stats/information. > > > > Andi > > > > On Thu, 29 Jun 2000, Peter Kocks wrote: > > > > > Hi all, > > > > > > I have php script that grows apache to over 71M on a system. The script > > > parses an XML message that is over 19,000 lines long. The > > problem is not > > > that the script takes up 71M (although that's higher than I'd > > like), it is > > > that after the script ends, the apache daemon stays at 71M. It > > seems that > > > either there is a memory leak or that garbage collect did not occur. > > > > > > Is there any way to force php to do garbage collection? Or has > > it certainly > > > occurred when a script ends? > > > > > > Is there a way to force apache to recycle an httpd daemon at > > the end of a > > > request, so the OS cleans up the memory? > > > > > > My real problem is that I end up with a dozen 71M apache daemons after > > > servicing several requests and I run out of swap space. If I > > had just one > > > or two 71M daemons I'd be fine. > > > > > > (Apache/1.3.12 (Unix) PHP/4.0b4pl1) running on Solaris 2.7. Yes, I know > > > php4.0b4pl1 is old and I will fix that. However, I'd still > > like to know if > > > there is a way to force memory cleanup in some way regardless > > if the latest > > > rev of php fixes this problem. > > > > > > Thanks in advance > > > > > > Peter Kocks > > > > > > > > > > > > > > > >

« previous php.dev (#22891) next »