#!/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 |