Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Aug 1997 19:08:50 -0600 (MDT)
From:      Marc Slemko <marcs@znep.com>
To:        hackers@freebsd.org
Subject:   out of swap space but nothing killed
Message-ID:  <Pine.BSF.3.95.970808184924.16254A-100000@alive.znep.com>

next in thread | raw e-mail | index | archive | help
We have a 2.2-stable machine w/96 megs RAM and 320 megs swap running innd.
There is something funny going on, and every once in a while innd seems to
start to swallow memory.  It appears to be a bug in innd or one of the
patches we have applied.  So far so good.  FreeBSD can do nothing about
innd croaking when it runs out of memory.

However, when the machine runs out of swap innd will only sometimes die.
Other times the box will sit there, still pingable but dead in the water.
innd is not killed.

I get a:

	swap_pager: out of swap space

and that is all.  Not even responsive to ctrl-alt-del on the console.

The source seems to imply that unless the machine gets deadlocked
somewhere it should kill the largest process and go on with life.  Has
anyone else seen similar behavior?  Known issue?

Perhaps space isn't being reclaimed properly from the cache in an
out-of-memory situation, resulting in a deadlock:

            ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min)) {

My only two guesses are that either the above is causing a problem or it
simply isn't getting to this part of vm_pageout.c.  The pageout daemon
simply not getting woken up from its tsleep when it should be?  Could
increasing v_free_min help avoid this situation?

Yes, knocking down the ulimits for innd to something that leaves a bit of
swap free would probably avoid the problem.  Guess I may have to do that.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.970808184924.16254A-100000>