solaris memory leakage
| From: | James Hamilton | Date: | Wed, 05 Jul 2000 14:16:58 +0000 |
| Subject: | solaris memory leakage | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-4942@lists.php.net to get a copy of this message | ||
Some comments from a colleague. Anyone else ahve similar probs with solaris
2.7??
"I have run into a whole swag of problems trying to get Sourceforge on to a
Solaris Sparc 2.7 box. The problem seems to lie with PHP and a collection
of print statements in the SourceForge source code. Basically, the cause
of the problem appeared to be a series of memory leaks that brought the
machine down to its knees in the space of a couple of hours...
(The box has 256MB real RAM, has only apache and squid running on
it... httpd is not doing very much at all - it's a development server
that is only used by 1 person, the proxy only services about 20
people... so it is a bit of a worry)
Basically, the httpd processes (which are running as nobody) seem to go a
bit crazy and chomp up all available memory on the machine. It gets to a
point where the machine can't access any disk based programs (as in it
doesn't seem to have any available memory to load those programs in to
execute them), so things like ls fail. All logins fail as well since it
can't load the shell... The quick fix was to power cycle the beast.
In any case, the first time it mangled itself was with PHP 4.0.1.
The second time, it was with PHP 3.0.16.
PHP was compiled as an Apache DSO module with MySQL, Sys V semaphores and
Sys V shared memory support.
Apache = 1.3.12, with mod-ssl-2.6.4-1.3.12 (EAPI)
There is a series of print statements in the SourceForge sources that
stuff several KB of HTML into a variable, shortly before writing the
variable to disk and printing it out to screen. On Solaris, the stupid
thing just sat there and hung on one of the print statements. On Linux,
it was perfectly happy and printed the thing out.
After the second time the machine suicided in 24 hours, we monitored
memory usage for about an hour. It looked like there may be a memory leak
in PHP that doesn't free things up. We didn't have time to investigate it
further (SourceForge was a minor experiment along the way) so we junked
PHP and SourceForge."
james
jhamilton@alpha.net.au