Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

What's happening is that, sometime during kernel 2.5 development, the memory management subsystem was changed to no longer track data pages shared between multiple processes through copy-on-write, as 'shared'. Instead, only text pages, and pages loaded from shared libraries, are considered part of the 'shared' section, in contradiction to what the top(1) manual page states.

This is generally observable in all 2.6.x kernels and Red Hat's patched versions of the 2.4.1x and 2.4.2x kernels. Reportedly, RHEL 2.1 ES and AS kernels are the same, too.

...

In reality, each spamd process is probably sharing somewhere between 50% and 90% of its pages with the other spamds (depending on its age), but 'top' is unable to report this correctly.unmigrated-wiki-markup

More details, and a demonstration script, \[http://bugzilla.spamassassin.org/show_bug.cgi?id=3839#c10 can be found here\].

Workarounds

Wiki Markup
If you want a reliable idea of your memory sharing, so far the only one way to determine this seems to be to downgrade the kernel to vanilla 2.4.\[12\]\* or test on a non-Linux platform.  There's also patches that can be applied to 2.6 to get useful figures via the /proc/$$/smaps interface; [lkml thread on the topic|http://lkml.org/lkml/2005/7/6/250].