ksmd - what is expected behavior?

Justin M. Forbes jmforbes at linuxtx.org
Tue Oct 27 18:48:36 UTC 2009


On Tue, Oct 27, 2009 at 09:20:20AM -0700, Tom London wrote:
> On Tue, Oct 27, 2009 at 9:10 AM, Mark McLoughlin <markmc at redhat.com> wrote:
> > On Tue, 2009-10-27 at 09:08 -0700, Tom London wrote:
> > ...
> >> But I notice that "ksm" appears off:
> >>
> >> [root at tlondon init.d]# service ksm status
> >> ksm is not running
> >> [root at tlondon init.d]# service ksmtuned status
> >> ksmtuned (pid  2559) is running...
> >> [root at tlondon init.d]#
> >>
> >> Interesting tuning.... ;)
> >>
> >> Any idea what is going on?
> >
> > Yes, because ksmd (a kernel thread) is enabled by default, the ksm init
> > script isn't needed to enable it currently
> >
> > However, in 2.6.32, ksmd is disabled by default and the ksm init script
> > will be needed to enable it
> >
> > Cheers,
> > Mark.
> >
> >
> OK.  So is the "reasonable" setup to have "ksmtuned" enabled (to disable "ksm")?
> 
> Or is it necessary to manually run "service ksmtuned start" manually.....
> 
ksmtuned is not really there to disable ksm, it will enable and disable
based on what the system is doing... It checks every so often and resets
ksm if it sees a need.  Ideally you would have both ksm and ksmtuned on.
The ksm service will enable ksm if it is disabled, but more importantly it
sets the number of pages ksm can use to half of memory instead of the
horribly low 2k default.  The ksm service would start, set the limits and
turn on ksm if it were off.  The ksmtuned would then start and check the
system, make sure ksm has done the work it needs to based on what the
system is running and then turn off ksm.  Chances are when ksmtuned makes
its first pass, there is no mergeable memory so it just shuts off ksm. Once
you start a few vms, ksmtuned will notice this on the next wakeup and
enable ksm long enough to scan and do its job.

Justin




More information about the fedora-test-list mailing list