Timo Sirainen put forth on 3/16/2010 6:36 AM:
On Tue, 2010-03-16 at 11:16 +0100, Steffen Kaiser wrote:
If I display a process map of an active imap process, I have: mapped: 2656K writeable/private: 460K shared: 300K Essentially you are talking about 460KB of KSM-able data.
IMHO, all modern Unix-alike system just "map" code pages read-only into the process and share them among all processes. No KSM required at all.
Right. Code and mmaped pages (e.g. some of Dovecot index files) are shared already. There's very little (if any) data that KSM could de-duplicate.
Ok, I've boned up on virtual shared memory and mmap and I now have the knowledge I previously lacked. I also have a far better understanding of RSS than I previously did, mainly that shared pages are included in RSS, even though there is only one copy of a shared page. Thus the sum of all RSS values can be much greater than the physical RAM in the system, which is opposite to my previous (mis)understanding or RSS. And I also now understand why KSM would have a very limited use case on a non KVM Linux kernel, since virtual shared memory serves the same purpose, and does so much more efficiently.
Feel free to slap me around with some trout for previously speaking to things above my knowledge level at the time. ;)
-- Stan