Enable Kernel Samepage Merging by default
In an effort to reduce memory consumption enable KSM by default. The biggest win here is when using libvirt with nova or ironic with its fake baremetal instances. In theory any process that runs duplicates with mergeable memory will benefit though. Change-Id: I4c5addfd3e83b6516023b36cbaabd5169f0d5ceb
This commit is contained in:
parent
370c525061
commit
f85e0ba353
16
stack.sh
16
stack.sh
@ -1006,6 +1006,22 @@ init_service_check
|
||||
# Save configuration values
|
||||
save_stackenv $LINENO
|
||||
|
||||
# Kernel Samepage Merging (KSM)
|
||||
# -----------------------------
|
||||
|
||||
# Processes that mark their memory as mergeable can share identical memory
|
||||
# pages if KSM is enabled. This is particularly useful for nova + libvirt
|
||||
# backends but any other setup that marks its memory as mergeable can take
|
||||
# advantage. The drawback is there is higher cpu load; however, we tend to
|
||||
# be memory bound not cpu bound so enable KSM by default but allow people
|
||||
# to opt out if the CPU time is more important to them.
|
||||
|
||||
if [[ "ENABLE_KSM" == "True" ]] ; then
|
||||
if [[ -f /sys/kernel/mm/ksm/run ]] ; then
|
||||
sudo sh -c "echo 1 > /sys/kernel/mm/ksm/run"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Start Services
|
||||
# ==============
|
||||
|
8
stackrc
8
stackrc
@ -104,6 +104,14 @@ if [[ "$USE_SYSTEMD" == "True" ]]; then
|
||||
USE_SCREEN=False
|
||||
fi
|
||||
|
||||
# Whether or not to enable Kernel Samepage Merging (KSM) if available.
|
||||
# This allows programs that mark their memory as mergeable to share
|
||||
# memory pages if they are identical. This is particularly useful with
|
||||
# libvirt backends. This reduces memory useage at the cost of CPU overhead
|
||||
# to scan memory. We default to enabling it because we tend to be more
|
||||
# memory constrained than CPU bound.
|
||||
ENABLE_KSM=$(trueorfalse True ENABLE_KSM)
|
||||
|
||||
# When using screen, should we keep a log file on disk? You might
|
||||
# want this False if you have a long-running setup where verbose logs
|
||||
# can fill-up the host.
|
||||
|
Loading…
Reference in New Issue
Block a user