Re: mmap/clone returns ENOMEM with lots of free memory

From: Christoph Lameter
Date: Tue May 08 2012 - 10:02:46 EST


On Mon, 7 May 2012, Robert ÅwiÄcki wrote:

> Yup (btw: I attached dump of some proc files and some debug commands
> in the original e-mail - can be found here
> http://marc.info/?l=linux-kernel&m=133640623421007&w=2 in case some
> MTA removed them)
>
> CommitLimit: 1981528 kB
> Committed_AS: 1916788 kB
>
> just not sure if Committed_AS should present this kind of value. Did I
> just hit a legitimate condition, or may it suggest a bug? I'm a bit
> puzzled cause

This is a legitimate condition. No bug.
>
> root@ise-test:/proc# grep Mem /proc/meminfo
> MemTotal: 3963060 kB
> MemFree: 3098324 kB

Physical memory is free in quantity but virtual memory is exhausted.

> Also, some sysctl values:
> vm.overcommit_memory = 2
> vm.overcommit_ratio = 50

Setting overcommit memory to 2 means that the app is strictly policed
for staying within bounds on virtual memory. Dont do that.

See linux source linux/Documentation/vm/overcommit-accounting for more
details.