-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
(cc'ing [EMAIL PROTECTED]) David F. Skoll writes: > On Thu, 23 Sep 2004, Justin Mason wrote: > > > > How can you tell how much is being shared between the child processes? > > > I know on Linux at least, there's no easy or accurate way to tell. > > > Pretty much all the doco I can find via google (the true linux > > authority! ;) seems to indicate that top's "SHARE" field is > > actually reasonably accurate. > > OK. I'm looking at a very busy MIMEDefang installation right > now, and according to "top", we have 11M shared out of a VSIZE of 44M. > > So it looks like MIMEDefang isn't doing any better than you. :-( > > I bet I know what's going on: Sure, SpamAssassin has tons of > "read-only" data once it has loaded the rules. However, in Perl, > *everything* is reference-counted, so every time you look at something > by adding a reference to it, its reference count gets updated. Over > time, you're pretty much guaranteed to touch every single page of > memory, causing data-page sharing to be useless. hmm. I suspect it may be possible to avoid that though. it may be the act of taking references to the data somewhere -- simply accessing a hash shouldn't cause a refcount increment. There's a few mod_perl discussions in google about this. > The only gain we get from a forking or pre-forked architecture is > sharing of code pages. Without a major overhaul of Perl's internals, > we'll never share data pages effectively. - --j. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) Comment: Exmh CVS iD8DBQFBU37sQTcbUG5Y7woRAri4AJ9ReH6SotiudjpYJYa1lO854qlKZgCeK27c EP1lAfQoCUCGvZpfKz8/pXk= =KoMH -----END PGP SIGNATURE-----
