Stas,

As far as the kernel issue goes, you are right there has been changes.
The meaning of 'SHARE' pages reported by the Linux kernel has changed
over time.  This does not necessarily mean your processes aren't sharing
via COW pages, just in how the kernel reports them.

I posted a response from the linux kernel mailing list a short time ago
that goes into detail.

Best,

Richard F. Rebel

On Fri, 2005-02-11 at 23:04 -0500, Stas Bekman wrote:
> I plugged vmonitor in the mp2 test suite (which loads a lot of modules) 
> and the conclusions are as following:
> 
> perl           Size Share VSize   Rss
> non-threaded: 24.8M  8.3M 24.8M 20.6M
> threaded    : 30.4M  8.6M 30.4M 26.2M
> 
> both running perl 5.8.6 under prefork mpm.
> 
> so you can see that while there is a difference is the total memory usage 
> (but not all modules are loaded for the non-threaded case), there is not 
> much difference between the two when it comes to shared memory.
> 
> While trying to shrink the test suite to find out where the unshared 
> memory comes from I've discovered that 10.2MB come from loading 
> Apache::TestRequest. I've verified that offline with:
> 
> perl-5.8.6-ithread bloat.pl 'use blib; use Apache::TestRequest'
> use blib; use Apache::TestRequest added 10.2M
> 
> so *all* the memory used by A-TR (and modules it has loaded) was 
> completely unshared. I don't know why that happens. A-TR is preloaded at 
> the server startup. It's probably the case where perl has tons of 
> variables which change, making all pages unshared.
> 
> I've run a quick test with mp1's test suite, and it seems to be quite 
> similar (not much sharing)
> 
> So it's quite possible that this is a kernel issue (Linux 
> rabbit.stason.org 2.6.8.1-12mdk here) or something that has to do with libc)
> 
-- 
Richard F. Rebel <[EMAIL PROTECTED]>
WhenU.com

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to