Red Hat Bugzilla – Bug 839557
[Doc]Need to explain in manual that the output memory of memtune command may be rounded
Last modified: 2013-02-21 02:19:15 EST
Description of problem: The output memory of memtune command is quaternary based on given memory . Version-Release number of selected component (if applicable): kernel- 2.6.32-276.el6.x86_64 libvirt-0.9.13-2.el6.x86_64 qemu-kvm-0.12.1.2-2.295.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. # virsh memtune rhel6u3 --hard-limit 100000 --soft-limit 100001 --swap-hard-limit 100004 --live # virsh memtune rhel6u3 hard_limit : 100000 soft_limit : 100004 swap_hard_limit: 100004 2. # virsh memtune rhel6u3 --hard-limit 100005 --soft-limit 100008 --swap-hard-limit 100013 --live # virsh memtune rhel6u3 hard_limit : 100008 soft_limit : 100008 swap_hard_limit: 100016 Actual results: The output memory of memtune command is quaternary based on given memory . Expected results: The output of memtune command should be equal to given memory. If it works on design , there should be document about it. But there is nothing to record it. Additional info:
We already document that <memory> will be rounded by the hypervisor (and different hypervisors round to different granularity - while qemu favors 4kB, ESX favors 1MB): http://libvirt.org/formatdomain.html#elementsMemoryAllocation If anything, all that remains in this bug is to also document in tools/virsh.pod that <memtune>, like <memory>, may be rounded.
Proposed upstream patch: https://www.redhat.com/archives/libvir-list/2012-July/msg01279.html
Fixed by commit d9bbf217b11e8326048b2ddf43a3de8258b26348 virsh: Clarify that memtune parameters may be rounded in the man page
Verified it using libvirt-0.10.0-0rc0.el6.x86_64. Move its status to VERIFIED. # man virsh Each of these limits are scaled integers (see NOTES above), with a default of kibibytes (blocks of 1024 bytes) if no suffix is present. Libvirt rounds up to the nearest kibibyte. Some hypervisors require a larger granularity than KiB, and requests that are not an even multiple will be rounded up. For example, vSphere/ESX rounds the parameter up to mebibytes (1024 kibibytes).
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-0276.html