#!/bin/sh
#
# Author: Marin Atanasov Nikolov <dnaeon@gmail.com>
#
### BEGIN INIT INFO
# Provides: ksm
# Required-Start:
# Required-Stop:
# X-Start-Before:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enable and disable KVM KSM
# Description: Enables and disables the KVM Kernel Samepage Merging
# feature of the kernel
### END INIT INFO
set -e
. /lib/lsb/init-functions
do_start() {
echo 1 > /sys/kernel/mm/ksm/run
log_success_msg "Enabling Kernel Samepage Merging"
}
do_stop() {
echo 0 > /sys/kernel/mm/ksm/run
log_success_msg "Disabling Kernel Samepage Merging"
}
do_status() {
local ksm_status
ksm_status=$( cat /sys/kernel/mm/ksm/run )
if [ ${ksm_status} -eq 1 ]; then
log_success_msg "Kernel Samepage Merging is enabled"
else
log_success_msg "Kernel Samepage Merging is disabled"
fi
}
case "${1}" in
start)
do_start
;;
reset|stop)
do_stop
;;
status)
do_status
;;
reload|restart|force-reload)
do_stop
do_start
;;
*)
log_success_msg "usage: ${0} {start|stop|status|reload|restart|force-reload|reset}" >&2
;;
esac