Я хочу использовать KSM в Ubuntu 20.04 для разделения памяти между виртуальными машинами qemu. И я установил ksmtuned
следующим образом:
$ sudo apt install ksmtuned
Но я обнаружил, что KSM не работает, а systemctl
показывает следующее:
$ systemctl status ksm.service
● ksm.service - Kernel Samepage Merging
Loaded: loaded (/lib/systemd/system/ksm.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2021-07-12 22:44:16 CST; 2min 39s ago
Process: 661 ExecStart=/usr/sbin/ksmctl start (code=exited, status=0/SUCCESS)
Main PID: 661 (code=exited, status=0/SUCCESS)
7月 12 22:44:16 qhx-u20 systemd[1]: Starting Kernel Samepage Merging...
7月 12 22:44:16 qhx-u20 systemd[1]: Finished Kernel Samepage Merging.
$ systemctl status ksmtuned.service
● ksmtuned.service - Kernel Samepage Merging (KSM) Tuning Daemon
Loaded: loaded (/lib/systemd/system/ksmtuned.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-07-12 22:44:16 CST; 4min 54s ago
Process: 701 ExecStart=/usr/sbin/ksmtuned (code=exited, status=0/SUCCESS)
Main PID: 711 (ksmtuned)
Tasks: 2 (limit: 14194)
Memory: 2.9M
CGroup: /system.slice/ksmtuned.service
├─ 711 /bin/bash /usr/sbin/ksmtuned
└─2394 sleep 60
7月 12 22:44:16 qhx-u20 systemd[1]: Starting Kernel Samepage Merging (KSM) Tuning Daemon...
7月 12 22:44:16 qhx-u20 systemd[1]: Started Kernel Samepage Merging (KSM) Tuning Daemon.
И значения в / sys / kernel / mm / ksm
:
$ grep . /sys/kernel/mm/ksm/*
/sys/kernel/mm/ksm/full_scans:0
/sys/kernel/mm/ksm/max_page_sharing:256
/sys/kernel/mm/ksm/merge_across_nodes:1
/sys/kernel/mm/ksm/pages_shared:0
/sys/kernel/mm/ksm/pages_sharing:0
/sys/kernel/mm/ksm/pages_to_scan:100
/sys/kernel/mm/ksm/pages_unshared:0
/sys/kernel/mm/ksm/pages_volatile:0
/sys/kernel/mm/ksm/run:0
/sys/kernel/mm/ksm/sleep_millisecs:200
/sys/kernel/mm/ksm/stable_node_chains:0
/sys/kernel/mm/ksm/stable_node_chains_prune_millisecs:2000
/sys/kernel/mm/ksm/stable_node_dups:0
/sys/kernel/mm/ksm/use_zero_pages:0
Я пытался использовать оба ksmctl start
и echo 1> / sys / kernel / mm / ksm / run
для запуска KSM, но не смог .
Кто-нибудь может сказать мне, почему и как правильно использовать KSM в Ubuntu 20.04?
Наконец, я нашел ответ.
Согласно Redhat doc for KSM, KSM управляется ksmtuned
службой, конфигурационный файл которой /etc/ksmtuned.conf
. Вам необходимо изменить значения в этом файле для активации KSM, в частности KSM_THRES_COEF
и KSM_THRES_CONST
.