On Thu, Mar 21, 2002 at 02:14:04AM +0800, Stas Bekman wrote: > But if the system needs to page things out, most of the parent process's > pages will be scheduled to go first, no? So we are talking about a > constant page-in/page-out from/to the parent process as a performance > degradation rather than memory unsharing. Am I correct? [...] > Well, the system coming close to zero of real memory available. The > parent process starts swapping like crazy because most of its pages are > LRU, slowing the whole system down and if the load doesn't go away, the > system takes a whirl down to a halt.
FWIW, Solaris 8 introduced "priority paging", which basicly means that pages that are non-executable will be swapped out earlier than higher-priority executable pages. This of course introduces nasty little tricks like marking a data file as executable just to ensure that it gets priority paging. I'm not sure how this affects mod_perl and it's "data is runtime-compiled bytecode" situation, but it means that we get it for free w/ httpd and all its dependent libraries (and DSOs). -aaron p.s. It can be enabled on Solaris 7, it's just not on by default.