lkml.org 
[lkml]   [2000]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: On the issue of low memory situations
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.191 / U:0.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site