From 7e585445b90f3a2bdab033f0e8ca6da4cb56318f Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Fri, 22 Mar 2019 09:25:48 -0500 Subject: [PATCH] roles/vmhost: Enable KSM This commit adds a systemd unit to enable the Kernel Same-page Merging daemon on VM hosts. This allows much greater virtual machine density, especially when many VMs are running the same guest OS. --- roles/vmhost/files/ksm.service | 12 ++++++++++++ roles/vmhost/tasks/main.yml | 15 +++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 roles/vmhost/files/ksm.service diff --git a/roles/vmhost/files/ksm.service b/roles/vmhost/files/ksm.service new file mode 100644 index 0000000..aeb77c9 --- /dev/null +++ b/roles/vmhost/files/ksm.service @@ -0,0 +1,12 @@ +# vim: set ft=dosini : +[Unit] +Description=Kernel Same-Page Merging + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/sh -c "echo 1 > /sys/kernel/mm/ksm/run" +ExecStop=/bin/sh -c "echo 0 > /sys/kernel/mm/ksm/run" + +[Install] +WantedBy=multi-user.target diff --git a/roles/vmhost/tasks/main.yml b/roles/vmhost/tasks/main.yml index 310c052..59e5af2 100644 --- a/roles/vmhost/tasks/main.yml +++ b/roles/vmhost/tasks/main.yml @@ -69,3 +69,18 @@ immediate=yes state=enabled notify: save firewalld configuration + +- name: ensure systemd ksm unit is installed + copy: + src=ksm.service + dest=/etc/systemd/system/ksm.service + mode=0644 + notify: reload systemd +- name: ensure systemd ksm unit starts at boot + service: + name=ksm + enabled=yes +- name: ensure systemd ksm unit is running + service: + name=ksm + state=started