Currently, the apache processes take (each) about 150 MB memory, what's quite a lot. Now, i've been wondering which module and why it takes that much memory at all.
Georg, How do you determine how much memory each Apache process is taking? If you're on Linux, it's tricky to correctly determine the shared memory size.
Initially, the apache processes take 42 MB each (i think this should be mostly shared memory and a lot of preloaded projects, as usual on a developer machine). If i connect using SOAP, the process jumps up to 140-150MB, and i just can't think of why this occurs.
That sounds to me like you're using Apache::DBI, which connects to the database on the first request. It loads the database driver (i.e., DBD::Oracle) into the shared memory at that time. Here's how I check how much memory is actually being used by Apache (assuming you're using 1.3.x or 2.x prefork): *) Stop Apache *) Change the value of StartServers parameter in http.conf to be equal to MaxClients (say it's 'N') *) Do `free -m` and note how much free memory you have (minus buffers/cache) *) Start Apache, but make no requests yet *) Do `free -m` again, and look how the free memory usage has changed. This should decrease the free memory by the amount used by Apache parent process (shared memory) and N Apache children *) Use your favorite load testing software to send at least N concurrent requests to your server, and monitor how your free memory is decreasing. If you see that after the first request the amount of free memory is decreased by N * 100MB, then you have a problem. Otherwise, those additional 100MB are shared and you have nothing to worry about. -- ----------------------------------------------------- Evaldas Imbrasas http://www.imbrasas.com