You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Eugene Toropov <jt...@aaanet.ru> on 2010/09/28 11:16:41 UTC

huge apache+mod_perl processes

Greetings,

We have a problem with huge Apache+mod_perl2 processes of 150-200 Mb in size. After apache restart they are usually 40-50 Mb in size, then in a minute grow up to 100-150 Mb and then some time later may grow up to 200 Mb. I suspect a certain type of http queries and would like to know if there are any manuals/howtos/tools to investiagate such cases.

# perl -v
This is perl, v5.10.1 (*) built for x86_64-linux

# strings /usr/local/apache2/modules/mod_perl.so | grep mod_perl\/
mod_perl/2.0.4

# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.14 (Unix)

# pmap -x 8320
8320:   /usr/local/apache2/bin/httpd -DSSL
Address           Kbytes     RSS   Dirty Mode   Mapping
0000000000400000     584     496       0 r-x--  httpd
0000000000692000      24      20      20 rw---  httpd
0000000000698000      12       8       8 rw---    [ anon ]
0000000017c10000  147640  144612  144608 rw---    [ anon ]
....
----------------  ------  ------  ------
total kB          352380  156560  151324


# /usr/local/apache2/bin/httpd -l
Compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_include.c
  mod_filter.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  mod_version.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
#


Cheers
Eugene

Re: huge apache+mod_perl processes

Posted by Michael Ludwig <mi...@gmx.de>.
Hi Eugene,

Eugene Toropov schrieb am 28.09.2010 um 13:16 (+0400):
> 
> We have a problem with huge Apache+mod_perl2 processes of 150-200 Mb
> in size. After apache restart they are usually 40-50 Mb in size, then
> in a minute grow up to 100-150 Mb and then some time later may grow up
> to 200 Mb. I suspect a certain type of http queries and would like to
> know if there are any manuals/howtos/tools to investiagate such cases.

I don't know of any master tool to pinpoint the resource hog, but it
might help to think about what kind of potentially memory-hungry things
your application does.

* accumulating data in memory
* large XML docs read into memory
* SQL data not using an iterator, but accumulating in memory
* large file uploads
* ...

Are you able to reproduce the issue in your dev environment (where I
presume clicks are under control)? Then you might be able to determine
the handler that gobbles up memory.

I've also seen situations (with bad code) where memory consumption
depended on the data available for a process to read.

Hope this helps.
-- 
Michael Ludwig