Hi, I recently upgraded our servers to mod_perl 1.24.1 so I decided to
give DSO mod_perl a try.  And it now works perfectly, even with our perl
modules implementing core httpd configuration directives (Wich was broken
under DSO until 24.1)

So, I decided to start playing with restart/graceful too, thinking that DSO might solve
the problems of cleanly restarting a mod_perl server without loss of service...

Here is a bit of top while restarting my server a few times.... :

#INITIAL STARTUP
  PID USER     PRI  NI  SIZE SWAP  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
17940 nobody    10   0 27592    0  26M 27376 S       0  0.0  2.6   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17941 nobody    10   0 27592    0  26M 27376 S       0  0.0  2.6   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17942 nobody    10   0 27592    0  26M 27376 S       0  0.0  2.6   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17943 nobody    10   0 27592    0  26M 27376 S       0  0.0  2.6   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17944 nobody    10   0 27592    0  26M 27380 S       0  0.0  2.6   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17939 root      10   0 27516    0  26M 27312 S       0  0.0  2.6   0:01 
/usr/local/apache/bin/httpd -Dhttpd_perl

#RESTART #1
17971 nobody     5   0 40116    0  39M 39888 S       0  0.0  3.8   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17972 nobody     7   0 40116    0  39M 39888 S       0  0.0  3.8   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17973 nobody     9   0 40116    0  39M 39888 S       0  0.0  3.8   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17974 nobody    10   0 40116    0  39M 39888 S       0  0.0  3.8   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17975 nobody    10   0 40116    0  39M 39888 S       0  0.0  3.8   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17961 root      10   0 40040    0  39M 39816 S       0  0.0  3.8   0:03 
/usr/local/apache/bin/httpd -Dhttpd_perl

#RESTART #2
17980 nobody     6   0 52640    0  51M 52404 S       0  0.6  5.0   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17981 nobody    13   0 52640    0  51M 52404 S       0  0.2  5.0   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17982 nobody    16   0 52640    0  51M 52404 S       0  0.0  5.0   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17983 nobody    18   0 52640    0  51M 52404 S       0  0.0  5.0   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17984 nobody    19   0 52640    0  51M 52404 S       0  0.0  5.0   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17961 root      19   0 52560    0  51M 52332 S       0 41.1  5.0   0:05 
/usr/local/apache/bin/httpd -Dhttpd_perl

[...]

#RESTART #5
18007 nobody     8   0 90204    0  88M 89976 S       0  7.1  8.7   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
18008 nobody     9   0 90204    0  88M 89976 S       0  0.0  8.7   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
18009 nobody    10   0 90204    0  88M 89976 S       0  2.3  8.7   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
18010 nobody    11   0 90204    0  88M 89976 S       0  4.7  8.7   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
18011 nobody    15   0 90204    0  88M 89976 S       0  0.0  8.7   0:00 
/usr/local/apache/bin/httpd -Dhttpd_perl
17961 root      15   0 90128    0  88M 89908 S       0 57.2  8.6   0:11 
/usr/local/apache/bin/httpd -Dhttpd_perl

And everything apparently behaves fine and keeps on working, but my main question is 
where is the 12Mb that adds to
each process on restart comes from ? What is hapenning ?

I know these issues have been brought before in the case of statically compiled-in 
mod_perl, but doesn't restarting the
server freeing libperl.so and re-loading it freshly ?

Any information would be more than welcome ...

## My version info is :
Redhat 6.2 running on a i386 Linux 2.2.17

Server version: Apache/1.3.14 (Unix)
Server built:   Oct 18 2000 14:00:36

perl5 (5.0 patchlevel 5 subversion 3)

mod_perl 1.24.1

/usr/local/apache/bin/httpd  -l
Compiled-in modules:
  http_core.c
  mod_so.c


-- 
+-----------------------------------------------+
| Philippe M. Chiasson  <[EMAIL PROTECTED]> |
| SmartWorker http://www.smartworker.org        |
|     IM : gozerhbe  ICQ : gozer/18279998       |
+-----------------------------------------------+
/*   * Hash table gook..   */ 
        -- Linux        2.4.0-test2
        /usr/src/linux/fs/buffer.c

perl -e '$$=\${gozer};{$_=unpack(P26,pack(L,$$));/^Just Another Perl 
Hacker!\n$/&&print||$$++&&redo}'

PGP signature

Reply via email to