Description of problem: Memory page sharing does not work in RHEVM 3.6 with DC and Cluster Compatibility as 3.5 and RHEL/RHEV-H 6.7 hosts. Version-Release number of selected component (if applicable): rhevm: rhevm-3.6.6.2-0.1.el6.noarch Host: Red Hat Enterprise Virtualization Hypervisor release 6.7 vdsm-4.16.35-2.el6ev.x86_64 qemu-kvm-rhev-0.12.1.2-2.479.el6_7.4.x86_64 libvirt-0.10.2-54.el6_7.3.x86_64 How reproducible: 100% Steps to Reproduce: 1. Create a RHEVM 3.6 Manager with Datacenter and Cluster compatiblity as 3.5 2. Add RHEL/RHEV-H 6.7 Hypervisors. 3. Enable KSM on the Cluster. -- Go to Cluster tab --> Edit --> Optimization --> Enable KSM --> Ok -- Go to Cluster tab --> In lower pane select Hosts --> Select each host --> sync Mom policy. -- Check the Memory page sharing status on the Host. -- Check Output of the below command from Host. # cat /sys/kernel/mm/ksm/run Actual results: 1. On RHEVM GUI Memory page sharing status on the Host is "Disabled". 2. Output of the below command is "0" # cat /sys/kernel/mm/ksm/run Expected results: 1. Memory Page sharing status on the Host on the RHEVM GUI should be "Enabled" 2. Out out for below command should be "1" # cat /sys/kernel/mm/ksm/run Additional info: Customer does not agree with upgrading the Hosts to 7.x to have the DC and Cluster compatiblity to 3.6. Customer insists as 6.7 is supported and maintained Memory Page sharing should work in RHEVM 3.6 as well.
This is supported for 3.5 cluster. What happens most probably is that we didn't switched ksm on because the machine isn't under pressure. Enabling ksm incur some overhead so we chose to do it on demand. Please supply mom.log vdsm.log and engine.log Also, here is a snip from doc/ksm.rules: # Methodology: Since running KSM does incur some overhead, try to run it only # when necessary. If the amount of committed KSM shareable memory is high or if # free memory is low, enable KSM to try to increase free memory. Large memory # machines should scan more often than small ones. Likewise, machines under # memory pressure should scan more aggressively then more idle machines. (defvar ksm_pressure_threshold (* Host.mem_available ksm_free_percent)) (defvar ksm_committed Host.ksm_shareable) (if (and (< (+ ksm_pressure_threshold ksm_committed) Host.mem_available) (> (Host.StatAvg "mem_free") ksm_pressure_threshold)) (Host.Control "ksm_run" 0)
Created attachment 1166217 [details] mom.log vdsm.log and engine.log attached. Hello, engine.log from rhevm server attached. mom.log and vdsm.log from Host sidat-nodo1 attached. File vdsm.log.27.xz -- We can se MOM policy related logs. Thanks, Koutuk Shukla
*** This bug has been marked as a duplicate of bug 1339126 ***
(In reply to Martin Sivák from comment #3) > > *** This bug has been marked as a duplicate of bug 1339126 *** Hello Martin, Looking at the Description of bug 1339126. It seems this was raised for removing the error " ERROR - Policy error: undefined symbol ksmMergeAcrossNodes" in /var/log/vdsm/mom.log. I have already asked Customer to follow the below workaround to remove the above errors in /var/log/vdsm/mom.log. -- add the following to 00-defines.policy (defvar ksmMergeAcrossNodes 0) (defvar ioTuneEnabled 0) Does this workaround resolve the issue raised in this bug 1343109 ? ( Of Memory page sharing not working with RHEL/RHEV-H 6 host in RHEVM 3.6 with DC and Cluster Compatibility 3.5 ) Please clarify. Thanks, Koutuk Shukla