> after booting a redhat enterprise linux 3 machine with apache 2.0.58, > perl 5.8.8 and mod_perl 2.0.2, > it runs well using about 300 M of 1 G physical RAM. > However, the remaining RAM decreases day by day, and after 2 or 3 > weeks, the machine crashes because swapping takes too much time. > However, all processes together take about 250 MBytes according to ps, > thus I assume that the kernel takes the rest. free tells me in fact > that much swap space is used an nearly no physical RAM is left. > > The strange thing is that all the memory is gone even after > stopping all apache processes. > The only thing which helps is to reboot the machine.I'm experiencing nearly the same thing now on FreeBSD 6.0 REL Apache/2.0.58 mod_perl 2.0.2 Postgres 8.1.3
I wish I'd caught this thread from the beginning. I've been seeing this exact same problem for several months now. Here is the environment where I first noticed it: Linux 2.6.12.6 Apache 1.3.33 Postgresql 7.4.9 mod_perl 1.29 350-400 viritual hosted domains, all running a mod_perl/postgres backed CMS. To make it clear: The memory is definitely lost. After 2-3 weeks on a machine with 2GB of RAM, I can shut down *every single daemon* on the machine and the RAM is not freed. And it is not a misreading of "top" or "free". That memory is gone, and trying to keep the machine running results in it going heavily into swap just for basic processes, and eventually crashing. It looks a lot like a kernel memory leak, and for the past few months that is what I've assumed it was. I don't know how else to explain the fact that no processes are running but the kernel still sees all the RAM taken. However, the fact that it was reported on 2.4 *and* BSD here makes me reconsider. Andreas: Are you also running PostgreSQL as Jonathan and I are? Andreas & Jonathan: Are either of you running reiserfs? (Perhaps it is the filesystem causing this.) Ok, now possibly some light at the end of the tunnel: I have set up a second machine with the following specs: Linux 2.6.16.27 Postgresql 7.4.13 Apache 1.3.37 mod_perl 1.29 ~100 virtual hosted domains, all running mod_perl/postgres CMS I have not seen any memory issues with this machine. When all of the processes are stopped, the memory usage goes right back down to where it should be. However, I don't recall seeing the memory problems on the other machine until it hit around 300-350 vhosted domains. But then again, I wasn't paying very much attention until it actually became a problem. Right now I'd say it's a little too early to tell, but in a couple months I should have ~300 domains on this box as well, and then I'll know if this particular configuration is immune to the memory problems. Also, I've eliminated Apache as the cause, as the following configuration also has the memory problem: Linux 2.6.12.6 Apache 1.3.37 Postgresql 7.4.9 mod_perl 1.29 Perhaps this weekend I'll upgrade the postgres on this box to 7.4.13 and see if it makes a difference. If not, the only thing left is the kernel...
