On Mon, 24 Mar 2003, Andrew Kinney wrote: > The source of the PV Entry usage is shared memory in Apache > (PHP and/or mod_perl). We know it's Apache memory sharing > that causes the problem because nearly all PV Entries are freed > when Apache is stopped and the problem is worst right after > Apache starts when you have a lot of "clean" memory segments > getting shared (10 to 11 million PV Entries used). After Apache > has run for awhile and the shared memory segments become > unshared due to them being "dirtied", the number of PV Entries > used declines and settles in at a much lower number (3 to 5 million > PV Entries used most days). Apache on this machine likes to > hover right around 256 children processes, so you could see how > requiring duplicate PV Entries per shared memory segment per > Apache process could add up quite quickly. > > Under ideal circumstances, we'd correct our PHP/PERL code to > avoid running into the issue at all, but this is customer code that > we don't have much control over since we allow users to select and > run their own CGI scripts without our intervention. So, for this > instance, we have to solve it at the system level by bullet-proofing > our system as much as possible.
How many Apache processes do you have and what's their size ? > I've read that setting sysctl kern.ipc.shm_use_phys to "1" will > cause shared memory segments not to use PV Entries at all. > (See > http://www.geocrawler.com/archives/3/159/2002/6/50/9031353/ ) > However, in the real world with FreeBSD 4.7, setting > kern.ipc.shm_use_phys to "1" seems to have no visible effect on > the number of PV Entries consumed by Apache memory sharing. > We're currently running sysctl kern.ipc.shm_use_phys=1 and are > still seeing the heavy PV Entry usage after rebooting (sysctl set on > boot) with no apparent difference in usage. > > My thoughts at this point are leaning towards setting some limits > on shared memory (kern.ipc.shmmax, kern.ipc.shmseg, > kern.ipc.shmall, and kern.ipc.shmmax sysctl's) to limit the number > of PV Entries that Apache can consume by way of shared > memory. Is that a viable approach to this problem? What kind of > gotchas and caveats should I watch out for in taking this approach? > Any recommendations on which one to tweak first? kern.ipc.shm_use_phys, kern.ipc.shmmax, etc are for System V shared memory. They have no relation to the memory that shared between processes via fork(). Igor Sysoev http://sysoev.ru/en/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message