* Suspected bug in shrink_caches()
@ 2002-01-03 5:38 Sasha Pachev
2002-01-03 18:46 ` José Luis Domingo López
0 siblings, 1 reply; 3+ messages in thread
From: Sasha Pachev @ 2002-01-03 5:38 UTC (permalink / raw)
To: linux-kernel, riel
Rik:
I am quite sure there is still a bug in shrink_caches(), at least there was
one in 2.4.17-rc2. I have not tried later releases, but there is nothing in
the changelog about the fixes anywhere near that area of the code, so I have
to assume the problem is still there.
Here is how one can expose the bug:
- disable kswapd and turn off all swap for simplicity
- run two applications concurrently, one cache intenstive ( eg find / or
simply create/initialize/read a large file), and the other RAM-intensive -
allocate a large block and initialize it
When we get to the point where free memory starts running low, even though we
may have something like 100 MB of cache, shrink_caches() fails to free up
enough memory, which triggers the evil oom killer. Obviously, in the above
situation the correct behaviour is to go on cache diet before considering the
murders.
--
MySQL Development Team
For technical support contracts, visit https://order.mysql.com/
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sasha Pachev <sasha@mysql.com>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, http://www.mysql.com/
/_/ /_/\_, /___/\___\_\___/ Provo, Utah, USA
<___/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Suspected bug in shrink_caches()
2002-01-03 5:38 Suspected bug in shrink_caches() Sasha Pachev
@ 2002-01-03 18:46 ` José Luis Domingo López
2002-01-03 21:24 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: José Luis Domingo López @ 2002-01-03 18:46 UTC (permalink / raw)
To: linux-kernel
On Wednesday, 02 January 2002, at 22:38:40 -0700,
Sasha Pachev wrote:
> I am quite sure there is still a bug in shrink_caches(), at least there was
> one in 2.4.17-rc2. I have not tried later releases, but there is nothing in
> the changelog about the fixes anywhere near that area of the code, so I have
> to assume the problem is still there.
> [...]
> When we get to the point where free memory starts running low, even though we
> may have something like 100 MB of cache, shrink_caches() fails to free up
> enough memory, which triggers the evil oom killer. Obviously, in the above
> situation the correct behaviour is to go on cache diet before considering the
> murders.
>
I can confirm this behaviour in my own machine. 128 MB of RAM, swap
space turned off, machine running KDE 2.2.x, Konqueror, rxvt's, gkrellm,
xmms and some daemons, and mighty Mozilla :). At this point there are
still a couple of MB free, a couple buffered and aproximately 40 MB
in caches.
Trying to load OpenOffice641 the kernel feels it's OOM time, and kills
something, usually Mozilla (as it should). However, "watch cat
/proc/meminfo" reports about 30 MB in caches when OOM kicks in. Any
attempt to "tune" parameters under "/proc/sys/vm/" changes nothing.
Attempted changes include:
echo "0 0" > /proc/sys/vm/pagetable_cache
All this is with plain 2.4.17, no patches applied. Another thing I have
observed is caches growing "too" much, but this is more of a subjective
feeling than anything else.
Maybe unrelated, maybe not, is the fact that in 2.4.17 I still see short
"freezes" in interactive response after doing intensive disk access
(untarring something, finishing some dd'ing, rebuilding Debian package
database, etc.). Both on medium-end hardware (128 MB RAM, PIII 600) and
low-end hardware (64 MB RAM, P166). Vanilla 2.4.17 on both, with ext2 as
the only filesystem used in mounted partitions.
--
José Luis Domingo López
Linux Registered User #189436 Debian Linux Woody (P166 64 MB RAM)
jdomingo AT internautas DOT org => Spam at your own risk
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Suspected bug in shrink_caches()
2002-01-03 18:46 ` José Luis Domingo López
@ 2002-01-03 21:24 ` Andrew Morton
0 siblings, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2002-01-03 21:24 UTC (permalink / raw)
To: José Luis Domingo López; +Cc: linux-kernel
José Luis Domingo López wrote:
>
> On Wednesday, 02 January 2002, at 22:38:40 -0700,
> Sasha Pachev wrote:
>
> > I am quite sure there is still a bug in shrink_caches(), at least there was
> > one in 2.4.17-rc2. I have not tried later releases, but there is nothing in
> > the changelog about the fixes anywhere near that area of the code, so I have
> > to assume the problem is still there.
> > [...]
> > When we get to the point where free memory starts running low, even though we
> > may have something like 100 MB of cache, shrink_caches() fails to free up
> > enough memory, which triggers the evil oom killer. Obviously, in the above
> > situation the correct behaviour is to go on cache diet before considering the
> > murders.
> >
> I can confirm this behaviour in my own machine. 128 MB of RAM, swap
> space turned off, machine running KDE 2.2.x, Konqueror, rxvt's, gkrellm,
> xmms and some daemons, and mighty Mozilla :). At this point there are
> still a couple of MB free, a couple buffered and aproximately 40 MB
> in caches.
The current VM gets really unhappy when you push it hard if there's no
swap available.
> ...
>
> Maybe unrelated, maybe not, is the fact that in 2.4.17 I still see short
> "freezes" in interactive response after doing intensive disk access
> (untarring something, finishing some dd'ing, rebuilding Debian package
> database, etc.). Both on medium-end hardware (128 MB RAM, PIII 600) and
> low-end hardware (64 MB RAM, P166). Vanilla 2.4.17 on both, with ext2 as
> the only filesystem used in mounted partitions.
Please test
http://www.zip.com.au/~akpm/linux/2.4/2.4.18-pre1/read-latency2.patch
-
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-01-03 21:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-03 5:38 Suspected bug in shrink_caches() Sasha Pachev
2002-01-03 18:46 ` José Luis Domingo López
2002-01-03 21:24 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox