Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been looking into memory overcommitting in Linux using /proc/sys/vm/overcommit_memory, and I've read a few articles which don't say the same thing.

This doc, under the heading "Going in the wrong direction", goes on to say, "values 1: do overcommit, and 0 (default): don't", but then in the next few lines, it mentions, amongst similar things, that this isn't actually true and that 0 means "guess about how much overcommitment is reasonable". That means that memory overcommit isn't disabled using value 0, right?

It also says that 1 indicates "never refuse any malloc()", with 2 meaning "be precise about the overcommit - never commit a virtual address space larger than swap space plus a fraction overcommit_ratio of the physical memory."

The Red Hat magazine, on the other hand states, "if the value is 0, then the kernel checks to determine if there is enough memory free to grant a memory request to a malloc call from an application. If there is enough memory, then the request is granted. Otherwise, it is denied and an error code is returned to the application." This sounds exactly like disabling overcommit.

"If the value is set to 1, then the kernel grants allocations above the amount of physical RAM and swap in the system as defined by the overcommit_ratio value.... If the setting in this file is 2, the kernel allows all memory allocations, regardless of the current memory allocation state." In terms of values 1 and 2, that is the opposite of what the previous doc said, right?

Does anyone know what is actually correct, and if it is possible to 'disable' overcommit?

share|improve this question

1 Answer 1

Red Hat magazine had 1 and 2 reversed. Beware of bugs that might prevent disabling overcommitting to work like that one: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/345601

share|improve this answer
    
True. See also the last comment at saltwebsites.com/2012/install-redis-245-service-centos-6 which confirms this. –  Fletch Mar 1 '12 at 16:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.