Re: On the issue of low memory situations

From: Carlos Morgado (chbm@chbm.nu)
Date: Sat Mar 18 2000 - 17:43:05 EST

  • Next message: Fausto Saporito: "2.3.99-pre1 and ppp"

    On Fri, Mar 17, 2000 at 05:33:33PM +0000, Nicholas Vinen wrote:
    >
    > On Fri, 17 Mar 2000, Linda Walsh wrote:
    >
    > > I haven't read through this whole thread, so this may have been
    > > suggested, but why not have a new signal "SIGNMEM". Can't be caught but
    > > can be ignored. Default is to take the signal and terminate the program
    > > that faulted. If ignored, put process to sleep until the memory request
    > > can be satisfied. Then something like 'X' or apache could ignore, while
    > > 'gcc' would just die.
    >
    > Well, it might even be useful to be able to catch it. Example: 'X' gets
    > a SIGNMEM. It responds by freeing any memory it might be using for bitmap
    > caches, font glyph caches, anything unnecessary. When it returns from the
    > signal, the system then has enough memory free to fulfill the request and
    > continue the program. 'X' may have also set a flag somewhere when it
    > caught this signal to tell itself at the first opportunity to shut down
    > and print "low memory: aborting" if this was a desired behaviour. Better
    > than a crash huh?
    > Overall an excellent suggestion I think.
    >

    So you have 1 process hogging all the memory and all the others in a rather
    peacefull state. You go OOM and SIGNMEM that process, which obviously ignore
    it. Now you have a system that a) OOM b) with not chance in hell of
    recovering memory, except in the case where a good program frees some
    memory, which wakes up the hog for more hogging.
    Congrats. You now have a program with no runnable processes.

    -- 
    Carlos Morgado - chbm(at)chbm(dot)nu - http://chbm.nu/ -- gpgkey: 0x1FC57F0A 
    http://wwwkeys.pgp.net/ FP:0A27 35D3 C448 3641 0573 6876 2A37 4BB2 1FC5 7F0A
    [there is no .sig available at the moment - please hold]
    

    - 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 : Sun Mar 19 2000 - 00:21:07 EST