If you don't have an unbounded growth issue it is likely do to some
library pulling in alot of dependencies or the creation/caching in
memory of some large data structure. You can preload all the
offending libraries and see if that causes a jump in the initial
memory allocation for you apache procs. If not you can create a
Handler that fires during cleanup/log phase to capture memory size
right after each access.
2010/9/29 Eugene Toropov <jt@aaanet.ru>:
> 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
|