From: Helge Hafting <helgehaf@idb.hist.no>
To: safemode <safemode@speakeasy.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: time tells all about kernel VM's
Date: Tue, 23 Oct 2001 09:40:50 +0200 [thread overview]
Message-ID: <3BD51F02.92B9B7F3@idb.hist.no> (raw)
In-Reply-To: <20011023030353Z279218-17408+3723@vger.kernel.org>
safemode wrote:
[...]
> B. The VM has this need to redistribute cache and buffer so that an OOM
> situation doesn't take place until all the ram is basically being used. The
> problem is that currently the VM will swap out stuff it isn't using and
> without buffer it must read from the drive (which is being used to swap)
> which takes more cpu which isn't there because the app is locking the kernel
> up trying to allocate memory (see why dbench causes mp3 skips). So what
> happens is that the kernel cant swap because the hdd io is being strangled by
> the process that's going out of control (kghostview) which means that the VM
> is stuck doing this redistribution at a snails pace and the OOM situation
> never occurs (or occurs many days later when you've died of starvation).
> Leaving you deadlocked on a kernel with a VM that is supposed to conquer this
> situation and make it a thing of the past.
>
Any VM with paging _can_ be forced into a trashing situation where
a keypress takes hours to process. A better VM will take more pressure
before it gets there and performance will degrade more gradually.
But any VM can get into this situation.
Consider a malicious app that uses lots of RAM but deliberately leaves
a _single_ page free. OOM will never happen, but the machine is
brought to its knees anyway. (You can also get in trouble by running
a few hundred infinite loops, with some dummy io so they too get the
io boost other processes gets.)
Swapping out whole processes can help this, but it will merely
move the point where you get stuck. A load control system that
kills processes when response is too slow is possible, but
the problem here is that you can't get people to agree
on how bad is too bad. It is sometimes ok to leave the machine
alone crunching a big problem over the weekend. And sometimes
you _need_ response much faster.
And what app to kill in such a situation?
You had a single memory pig, but it aint necessarily so.
Helge Hafting
next prev parent reply other threads:[~2001-10-23 7:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-23 3:04 time tells all about kernel VM's safemode
2001-10-23 5:02 ` safemode
2001-10-23 7:40 ` Helge Hafting [this message]
2001-10-23 19:30 ` bill davidsen
2001-10-23 23:22 ` safemode
2001-10-23 23:30 ` safemode
2001-10-24 9:07 ` Helge Hafting
2001-10-23 11:33 ` Rik van Riel
2001-10-23 23:42 ` Rik van Riel
2001-10-24 2:08 ` safemode
2001-10-24 11:55 ` safemode
2001-10-24 18:05 ` Luigi Genoni
2001-10-24 18:36 ` safemode
2001-10-24 19:57 ` Mike Fedyk
[not found] <200110241836.f9OIaa9l002350@Expansa.sns.it>
2001-10-24 22:01 ` Luigi Genoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3BD51F02.92B9B7F3@idb.hist.no \
--to=helgehaf@idb.hist.no \
--cc=linux-kernel@vger.kernel.org \
--cc=safemode@speakeasy.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox