[lkml]   [2002]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [2.4.18] Security: Process-Killer if machine get's out of memory

    Hello Alan , Uh ? , OK . Please show me where it is described
    the values Greater than 1 for overcommit_memory ? Tia , JimL

    Linux filesrv1 2.4.19-pre3 #1 SMP Mon Mar 18 11:49:42 EST 2002 i686 unknown

    From: filesystems/proc.txt

    This file contains one value. The following algorithm is used to decide if
    there's enough memory: if the value of overcommit_memory is positive, then
    there's always enough memory. This is a useful feature, since programs often
    malloc() huge amounts of memory 'just in case', while they only use a small
    part of it. Leaving this value at 0 will lead to the failure of such a huge
    malloc(), when in fact the system has enough memory for the program to run.

    On the other hand, enabling this feature can cause you to run out of memory
    and thrash the system to death, so large and/or important servers will want to
    set this value to 0.

    From: sysctl/vm.txt

    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 use much of it.

    Look at: mm/mmap.c::vm_enough_memory() for more information.

    From: mm/mmap.c::vm_enough_memory()
    int sysctl_overcommit_memory;
    int max_map_count = DEFAULT_MAX_MAP_COUNT;

    /* Check that a process has enough memory to allocate a
    * new virtual mapping.
    int vm_enough_memory(long pages)
    /* Stupid algorithm to decide if we have enough memory: while
    * simple, it hopefully works in most obvious cases.. Easy to
    * fool it, but this should catch most mistakes.
    /* 23/11/98 NJC: Somewhat less stupid version of algorithm,
    * which tries to do "TheRightThing". Instead of using half of
    * (buffers+cache), use the minimum values. Allow an extra 2%
    * of num_physpages for safety margin.

    unsigned long free;

    /* Sometimes we want to use more memory than we have. */
    if (sysctl_overcommit_memory)
    return 1;

    On Sun, 24 Mar 2002, Alan Cox wrote:

    > > Hello Alan , Is there any documentation for the 'new overcommit
    > > mode 2/3' functionaltiy ? Tia , JimL
    > Yes, its in the Documentation dir of the kernel..

    | James W. Laferriere | System Techniques | Give me VMS |
    | Network Engineer | P.O. Box 854 | Give me Linux |
    | | Coudersport PA 16915 | only on AXP |

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:25    [W:0.024 / U:54.200 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site