RE: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed.
| From: | Andi Gutmans | Date: | Tue, 01 May 2001 07:24:42 +0000 |
| Subject: | RE: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed. | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-53169@lists.php.net to get a copy of this message | ||
You can mail the author: Ben Mansell <php@slimyhorror.com>
Andi
At 11:22 PM 4/30/2001 -0700, John Hamlik wrote:
I was kinda hoping the fast-cgi version would enable the best of both worlds; however, I have been unable to get it to work under apache at this point. Any comments ? -----Original Message----- From: Brian Foddy [mailto:bfoddy@mn.mediaone.net] Sent: Monday, April 30, 2001 9:18 PM To: Andi Gutmans; Brian Moon; John Hamlik; php-dev@lists.php.net; Rod K Subject: RE: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed. That sounds like it would work also. People would have to build PHP for both modules and CGI, but if they are willing to do that... Works for me. Brian On Mon, 30 Apr 2001 23:53:16 -0400, Rod K wrote: Couldn't one just run a cgi and module version simultaneously? Set an add type directive to pass an extension, say .cphp, to the cgi instead of the module. Then those scripts that use extensive memory could be extended with .cphp??? -----Original Message----- From: Brian Foddy [mailto:bfoddy@mn.mediaone.net] Sent: Monday, April 30, 2001 11:56 PM To: Andi Gutmans; Brian Moon; John Hamlik; php-dev@lists.php.net Subject: RE: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed. Perhaps another possible solution is this... For those 1 in 300 web hits that the developer knows is going to use gobs of memory and assuming they can't be re-engineered to use less (through temp files, etc), create a simple function that is callable in PHP that will cause the parent apache process to exit (if it doesn't exist already) It will be immediately replaced by another much smaller version ready to handle the remaining 299 web hits. This gives the performance benefit for most hits of the apache module, but the memory benefits of the cgi behavior. But before I'd do that, I'd make sure the big page can't be re-engineered first. Brian On Mon, 30 Apr 2001 18:42:59 -0700, John Hamlik wrote:toI too have experienced this problem and can reproduce, I just changedthethe cgi version instead to eliminate the problem, which I would agree, it is. I have one page on a site of hundreds of pages that producesthanlarge process, 30MB+ and this is on a heavily used server with morecrash300 processes. So if I don't run the cgi-version the server willswapin a matter of time as the memory is not freed and eventually will1000itself to death. So while the cgi-version is slightly slower, I have reliability. John Hamlik -----Original Message----- From: Brian Moon [mailto:brian@phorum.org] Sent: Monday, April 30, 2001 3:20 PM To: php-dev@lists.php.net; Andi Gutmans Subject: Re: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed. But the reverse side of this is that I might have one script out ofitthat needs that much memory. But since 20 of my httpd processes have run that script, they all have that much memory and are not going to let--go no matter what. I basically sounds like a flaw that memory can not be freed. Reuse in the same process is not free memory, it is reused memory. And it sounds like there is nothing that the PHP team can do about it. Brian Moon ------------------------------------------------------------------------- Phorum Dev Team - http://phorum.org Making better forums with PHP ----------------------------------------------------------------------Performance"- Look for my presentation at ApacheCon 2001. "Caching Dynamic Web Content to Increase Dependability andWehttp://www.apachecon.com/ ----- Original Message ----- From: "Andi Gutmans" <andi@zend.com> To: "Brian Moon" <brian@phorum.org>; <php-dev@lists.php.net> Sent: Monday, April 30, 2001 5:02 PM Subject: Re: [PHP-DEV] PHP 4.0 Bug #8889 Updated: Memory is not being freed.This is the answer I had previously received. IMHO, this sucks.At 04:59 PM 4/30/2001 -0500, Brian Moon wrote:isdon'tdo SQL queries on our production site. It is all cached. So, SQLthenotthe problem. It is most likely because of the storage of largearrays orsomething of that nature.I guess we will continue to use MaxRequestsPerChild until one dayWell maybe you should try and see what in your script is taking uplots ofmemory.itpeoplethat wrote that memory allocation system get a clue.They are very clue full. A program which uses X MB of memory is verylikelyto use X MB of memory again at a later time. For example, how doesnexthelpyou if your 14 MB were shrunk back to 10 MB on each request. Thememoryrequest would probably make it grow back to 14 MB. There might be some memory management libraries that shrink thewaybackbut I doubt you can gain much from it especially as memoryfragmentationcan severally limit the amount of memory you can reclaim and becauseof thepoint I made before, it's probably just not worth it. If you can find a case where you really think PHP is using much toomuchmemory let me know and we can try and check together if there's aphp-list-admin@lists.php.nettoimprove the situation. Andi-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail:php-list-admin@lists.php.net-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail:-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net