Bug 1001143 - Drop memory limit heuristic
Drop memory limit heuristic
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Michal Privoznik
Virtualization Bugs
Depends On:
  Show dependency treegraph
Reported: 2013-08-26 10:45 EDT by Michal Privoznik
Modified: 2014-06-17 20:54 EDT (History)
5 users (show)

See Also:
Fixed In Version: libvirt-1.1.1-3.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-06-13 08:01:32 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Michal Privoznik 2013-08-26 10:45:28 EDT
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 06:50:00 EDT
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 08:01:32 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.