Ref: https://github.com/harvester/harvester/issues/2302
Verify Steps:
- Install Harvester with any nodes
- Login to Dashboard and Navigate to hosts
- Edit node1’s Ksmtuned to
Runand ThresCoef to85then Click Save - Login to node1’s console, execute
kubectl get ksmtuned -oyaml --field-selector metadata.name=<node1> - Fields in
specshould be the same as Dashboard configured - Create an image for VM creation
- Create multiple VMs with 2Gi+ memory and schedule on
<node1>(memory size reflect to ’s maximum size, total of VMs’ memory should greater than 40%) - Execute
watch -n1 grep . /sys/kernel/mm/ksm/*to monitor ksm’s status change/sys/kernel/mm/ksm/runshould be update to1after VMs started/sys/kernel/mm/ksm/page_*should updating continuously
- Login to Dashboard then navigate to Hosts, click
- In the Tab of Ksmtuned, values in Statistics section should not be
0. (data in this section will be updated per min, so it not equals to console’s output was expected.) - Stop all VMs scheduling to
<node1>, the monitor data/sys/kernel/mm/ksm/runshould be update to0(this is expected as it is designed to dynamically spawn ksm up whenThresCoefhits) - Update ’s Ksmtuned to
Run: Prune - Monitor data in Step.8 should reflect to:
/sys/kernel/mm/ksm/runshould be update to2/sys/kernel/mm/ksm/pages_*should be update to0
- Update ’s Ksmtuned to
Run: Stop - Monitor data in Step.8 should reflect to:
/sys/kernel/mm/ksm/runshould be update to0