Apache leaking memory - tips on how to find the problem?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

My prefork apache configuration is causing processes to leak lots of memory. I'm hoping people on this list could suggest ways in me finding it, given that I've been unsucessful in isolating the problem.

Here is a breakdown of my configuration:

Ubuntu 9.04 with 2.6 Kernel
Apache 2.2.11 with enabled modules:
Alias
Authz_Host
AutoIndex
Deflate
Dir
expires
headers
mime
Status
PHP 5.2.6-3ubuntu4.2 with Suhosin-Patch 0.9.6.2 with modules:
curl
gd2
pdo
pgsql (using PostgreSQL 8.3.7 on the same system)
This runs on a fairly beefy dual quad-core Xenon Server with terabytes of HD and 12 GB of RAM.
My website gets miminal traffic at the moment (average 5 users simulatenously throughout the day) and yet I find I run out of memory in less than 24 hours, I have a cron which restarts the server to band-aid the problem. Whatever I'm leaking, I'm leaking fast - htop shows my RAM on average going up roughly between 2-4 MB/s depending on the request, and it's all in apache processes. I seemed to have slowed down the problem by re-configuring my conf like so:

<IfModule mpm_prefork_module>
    StartServers        50
    MinSpareServers     20
    MaxSpareServers     50
    ServerLimit         1500
    MaxClients          1500
    MaxRequestsPerChild 1000
</IfModule>

Which is only a temporary solution, because I except traffic to increase from this point forward. Since my website uses ajax heavily for polling it's worth mentioning that I have my keep-alives set very tightly as well:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15

I do not use persistant connections between Postgres and PHP since I found it aggrevated the problem horrendously. I've tried to get a memory map a particular process, using pmap, but I always get 0k result:

pmap -x 12762
12762:   /usr/sbin/apache2 -k start
Address   Kbytes     RSS    Anon  Locked Mode   Mapping
-------- ------- ------- ------- -------
total kB       0       -       -       -

I've also attempted exmap, which was installed from apt as gexmap, but all I get from is this error which I haven't found a solution that works for me: 

(gexmap:14395): Gtk-WARNING **: cannot open display:

Can anyone suggest a strategy on how to isolate what exactly is going on inside these processes and why they absorb such huge chunks of RAM? Any advice would be appreciated.

Regards,
  Steve

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux