==================================
1. in httpd.conf
Added PerlRequire /home/www/cgi-bin/startup.pl
the its contents is:
use strict;
use lib "/home/www/cgi-bin/";
use TestPM ();
1;
==================================
2. The TestPM's content
use strict;
package TestPM;
my $data;
sub new {
my ($class) = @_;
my $self = {};
bless $self, $class;
return $self;
}
sub init {
$data = "1234567890" x 1000000; # 10M of data
}
==================================
3. test.cgi
#!/usr/bin/perl
print "Content-type:text/html\n\n";
use strict;
use TestPM;
TestPM::init();
==================================
By stress testing the test.cgi, I found memory is not shared at all,
using the top command, e.g.
>> top -bc -n 1 | grep httpd
11290 web 25 0 100m 23m 1620 R 47 0.3 0:00.29 /usr/
local/apache_1.3.41/bin/httpd
11247 web 20 0 101m 23m 1628 R 41 0.3 0:05.15 /usr/
local/apache_1.3.41/bin/httpd
As you can see, each httpd is using 23m, and 1620bytes shared, which I
belive the much data is shared....
Any idea?
Thanks.
> By stress testing the test.cgi, I found memory is not shared at all,
> using the top command, e.g.
The only data that might be shared is data that is already initialized at
the startup phase. Data that's copied / assigned during at later stages
will not be shared. The manual and the book both mention this.
--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
On Oct 15, 6:48 pm, Joost Diepenmaat <jo...@zeekat.nl> wrote:
> howa <howac...@gmail.com> writes:
> The only data that might be shared is data that is already initialized at
> the startup phase. Data that's copied / assigned during at later stages
> will not be shared. The manual and the book both mention this.
>
Thanks for reply.
Even I put the line:
>> TestPM::init();
inside the startup.pl, still the same
In addition to what the other post said, it should be pointed out that
the SHR column of the "top" command does not reflect all modes of memory
sharing. For example, Copy-On-Write sharing does not seem to accounted
for as shared. I think it reflects only shared libraries (*.so files) and
not any kind of data sharing. It would be nice if the "man top" did a
better job of explaining this. You need a better way of diagnosing how
much memory is actually being used.
Xho
--
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.