Bug 1001143

Summary: Drop memory limit heuristic
Product: Red Hat Enterprise Linux 7 Reporter: Michal Privoznik <mprivozn>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: acathrow, bili, dyuan, gsun, jmiao
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-1.1.1-3.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 12:01:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Privoznik 2013-08-26 14:45:28 UTC
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:

Comment 2 Jincheng Miao 2013-09-09 10:50:00 UTC
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.

Comment 3 Ludek Smid 2014-06-13 12:01:32 UTC
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.