Superpages on amd64 FreeBSD 7.2-STABLE
rysto32 at gmail.com
Thu Nov 26 15:34:42 UTC 2009
Is squid multithreaded? My first guess would be that you have one
thread forking off all of these processes while other threads are
still doing work and writing to different parts of the address space.
I don't know the details of the superpages implementation but I could
definitely see that this could be a problem. When the process is
forked off the vm layer has to mark all of the pages in the parent
process as copy-on-write. If there are other threads in squid writing
to memory in this time, the vm layer will have to allocate a new page
of memory for every page that squid writes to. This breaks up the
superpage(superpages must be physically contiguous in memory). I
don't know if the superpage implementation tries to alleviate this
situation at all.
More information about the freebsd-hackers