I have been trying to reduce/tune the memory requirements of an
online game which uses mod_perl (Apache::Registry). I have read the
suggestions at http://perl.apache.org/tuning/ and am trying to follow
them. The first suggestion is to preload the modules by including
Perlrequire /var/www/perllib/startup.perl
in httpd.conf and then in startup.perl doing:
#! /usr/local/bin/perl
use strict;
use lib "/var/www/perllib";
use Apache::DBI ();
use mymodules ();
1;
According to the web page:
>What this does is pull in all of the code used by the programs (but
>does not import any of the module methods) into the main HTTPD
>process, which then creates the child processes with the code
>already in place.
I have been monitoring memory usage with the command:
ps -ely | grep http
and getting output that looks something like this.
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 1003 318 1 0 40 18 4432 40960 ? ? 4:37 cshttpd
S 1003 345 318 0 40 18 3320 40920 ? ? 0:02 cshttpd
S 0 2835 1 0 41 20 8776 10344 ? ? 0:34 httpd
S 60001 4895 2835 0 41 20 13272 18872 ? ? 0:06 httpd
S 60001 4894 2835 0 41 20 13280 18872 ? ? 0:07 httpd
I understand that the RSS is the resident size in KB and the SZ
column is the size of the process, but what should I be seeing in the
way of reduced memory? The 13MB/18MB is not much different from when
I don't preload anything. Should I be seeing something else? I
probably am not understanding what to look for. Any suggestions or
observations would be appreciated.
Thanks,
Tim