Re: Linux 2.2.15pre12

From: Paul Jakma (paul@clubi.ie)
Date: Mon Mar 06 2000 - 15:31:56 EST


On Mon, 6 Mar 2000, Gregory Maxwell wrote:

  Yes, you can currently do this. Turning off overcommit doesn't stop COW,
  but it takes away it's memory/swap advantage.
  
  [snip]
> as i understand you can't turn off overcommit in linux at the
> moment. Yet it would be a useful option to have. I can easily imagine
> certain situations where i would choose to turn off overcommit at the
> expense of more swap if it would guarantee that OOM would never
> happen. (hard disk space is cheap compared to downtime)
  [snip]
  
  /proc/sys/vm/overcommit_memory
  overcommit_memory:
  
  This value contains a flag that enables memory overcommitment.
  When this flag is 0, the kernel checks before each malloc()
  to see if there's enough memory left. If the flag is nonzero,
  the system pretends there's always enough memory.
  
  This feature can be very useful because there are a lot of
  programs that malloc() huge amounts of memory "just-in-case"
  and don't much of it.

i think you're misunderstanding the overcommit_memory sysctl. From
the wording above, the default of 0 gives us the normal (relaxed)
linux VM allocation policy. Setting it to > 0 *turns off* this
checking even altogether!!!
  
  Look at: mm/mmap.c::vm_enough_memory() for more information.
  
  
=>

 /* Sometimes we want to use more memory than we have. */
        if (sysctl_overcommit_memory)
            return 1;
  
ie if overcommit_memory != 0 then we throw the already sparse
accounting checks out of the window. It does not turn off
overcommit!! It makes linux VM even more relaxed!!!

regards,

-- 
Paul Jakma	paul@clubi.ie
PGP5 key: http://www.clubi.ie/jakma/publickey.txt
-------------------------------------------
Fortune:
I am a friend of the working man, and I would rather be his friend
than be one.
		-- Clarence Darrow

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:20 EST