8.4.2. The KSM Tuning Service
The
ksmtuned
service fine-tunes the kernel same-page merging (KSM) configuration by looping and adjusting ksm
. In addition, the ksmtuned
service is notified by libvirt when a guest virtual machine is created or destroyed. The ksmtuned
service has no options.
# systemctl start ksmtuned Starting ksmtuned: [ OK ]
The
ksmtuned
service can be tuned with the retune
parameter, which instructs ksmtuned
to run tuning functions manually.
The
/etc/ksmtuned.conf
file is the configuration file for the ksmtuned
service. The file output below is the default ksmtuned.conf
file:
# Configuration file for ksmtuned. # How long ksmtuned should sleep between tuning adjustments # KSM_MONITOR_INTERVAL=60 # Millisecond sleep between ksm scans for 16Gb server. # Smaller servers sleep more, bigger sleep less. # KSM_SLEEP_MSEC=10 # KSM_NPAGES_BOOST - is added to the `npages` value, when `free memory` is less than `thres`. # KSM_NPAGES_BOOST=300 # KSM_NPAGES_DECAY - is the value given is subtracted to the `npages` value, when `free memory` is greater than `thres`. # KSM_NPAGES_DECAY=-50 # KSM_NPAGES_MIN - is the lower limit for the `npages` value. # KSM_NPAGES_MIN=64 # KSM_NPAGES_MAX - is the upper limit for the `npages` value. # KSM_NPAGES_MAX=1250 # KSM_THRES_COEF - is the RAM percentage to be calculated in parameter `thres`. # KSM_THRES_COEF=20 # KSM_THRES_CONST - If this is a low memory system, and the `thres` value is less than `KSM_THRES_CONST`, then reset `thres` value to `KSM_THRES_CONST` value. # KSM_THRES_CONST=2048 # uncomment the following to enable ksmtuned debug information # LOGFILE=/var/log/ksmtuned # DEBUG=1
Within the
/etc/ksmtuned.conf
file, npages
sets how many pages ksm
will scan before the ksmd
daemon becomes inactive. This value will also be set in the /sys/kernel/mm/ksm/pages_to_scan
file.
The
KSM_THRES_CONST
value represents the amount of available memory used as a threshold to activate ksm
. ksmd
is activated if either of the following occurs:
- The amount of free memory drops below the threshold, set in
KSM_THRES_CONST
. - The amount of committed memory plus the threshold,
KSM_THRES_CONST
, exceeds the total amount of memory.