Hide Forgot
Description of problem: Libvirt supports setting a hard limit on a domain. If this limit is reached, the corresponding qemu process is killed as if OOM would happen. However, with recent libvirt, if the limit is not set, the libvirtd tries to guess the limit. This has caused several problems in the past as we could never get the heuristic right. Hence, the code should be removed until the time somebody comes with bright idea. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. create a domain without <hard_limit/>. 2. run it for a while 3. observe OOM (e.g. something like this https://bugzilla.redhat.com/attachment.cgi?id=780599) Actual results: Domain gets killed Expected results: Domain doesn't get killed Additional info:
To POST: http://post-office.corp.redhat.com/archives/rhvirt-patches/2013-August/msg01335.html
I built qemu-kvm with inserting a memory leak(add malloc in kvm_cpu_exec() without free). And in libvirt-1.1.1-2.el7, this qemu-kvm process killed by OOM immediately. But in libvirt-1.1.1-3.el7, it is not killed even used 70%+ of whole computer memory: # top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26608 qemu 20 0 0.700t 5.544g 7204 S 1.662 72.19 1:09.08 qemu-kvm # free -h total used free shared buffers cached Mem: 7.7G 7.5G 217M 0B 0B 848M -/+ buffers/cache: 6.6G 1.0G Swap: 0B 0B 0B That means heuristic memory limit is removed in libvirt-1.1.1-3.el7, the fix is working. So I change the status to VERIFIED. Thanks for Michal Privoznik's advice.
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request.