From: Andreas Hartmann <andihartmann@freenet.de>
To: Andrea Arcangeli <andrea@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Memory management in Kernel 2.4.x
Date: Sat, 01 Jun 2002 14:35:20 +0200 [thread overview]
Message-ID: <3CF8BF88.4090004@athlon.maya.org> (raw)
In-Reply-To: <fa.iklie8v.5k2hbj@ifi.uio.no> <fa.na0lviv.e2a93a@ifi.uio.no> <actahk$6bp$1@ID-44327.news.dfncis.de> <3CF23893.207@loewe-komp.de> <20020531211951.GZ1172@dualathlon.random>
Hello Andrea,
Andrea Arcangeli wrote:
> On Mon, May 27, 2002 at 03:45:55PM +0200, Peter Wächtler wrote:
>
>>Andreas Hartmann wrote:
>>
>>>Zwane Mwaikambo wrote:
>>>
>>>
>>>
>>>>On Mon, 27 May 2002, Andreas Hartmann wrote:
>>>>
>>>>
>>>>
>>>>>rsync allocates all of the memory the machine has (256 MB RAM, 128 MB
>>>>>swap). When this occures, processes get killed like described in the
>>>>>posting before. The machine doesn't respond as long as the rsync -
>>>>>process isn't killed, because it fetches all the memory which gets free
>>>>>after a process has been killed.
>>>>>
>>>>
>>>>And the rsync process never gets singled out? nice!
>>>>
>>>
>>>Until it's killed by the kernel (if overcommitment isn't deactivated). If
>>>overcommitment is deactivated, the services of the machine are dead
>>>forever. There will be nothing, which kills such a process. Or am I wrong?
>>>
>>
>>There is still the oom killer (Out Of Memory).
>>But it doesn't trigger and the machine pages "forever".
>>Usually kswapd eats the CPU then, discarding and reloading pages,
>>searching lists for pages to evict and so on.
>
>
> can you reproduce with 2.4.19pre9aa2? I expect at least the deadlock
> (if it's a deadlock and not a livelock) should go away.
>
> Also I read in another email that somebody grown the per-socket buffer
> to hundred mbytes, if you do that on a 32bit arch with highmem you'll
> run into troubles, too much ZONE_NORMAL ram will be constantly pinned
> for the tcp pipeline and the machine can enter livelocks.
I tested it and the error-situation occured again (thanks to rsync :-)).
How did the kernel react?
Well, I waited some seconds until all the memory was in use (256 MB RAM
and 128 MB swap). I have to say, nearly all the memory, because there
was allways some MB's free in RAM. So I was able to login via ssh as
root. As I wanted to do something, the machine didn't react. Until this
point, the machine seemed to work fine - xosview through ssh showed the
activity very well. But then it crashed, because it couldn't open
/proc/stat:
Can not open file : /proc/stat
Some seconds later, the machine was working normal again. What happened?
/var/log/messages says:
Jun 1 14:03:46 susi squid[271]: Squid Parent: child process 273 exited
due to signal 9
Jun 1 14:03:48 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0x1d2/0)
Jun 1 14:03:48 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0x1d2/0)
Jun 1 14:03:48 susi kernel: VM: killing process squid
Jun 1 14:04:05 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0x1f0/0)
Jun 1 14:04:07 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0xf0/0)
Jun 1 14:04:11 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0x1f0/0)
Jun 1 14:04:25 susi kernel: __alloc_pages: 0-order allocation failed
(gfp=0x1d2/0)
Jun 1 14:04:25 susi kernel: VM: killing process rsync
The kernel killed the maliciuos rsync-process.
Not nice was, that the kernel killed squid, too. If it didn't kill squid
it would have been a very good result. On the other hand, squid had
already problems - so it was probably a good idea to kill it completely
to make room for other running programs.
I would like to know, if the killing of rsync was pure chance or if it
was systematically. I will try it again :-).
Regards,
Andreas Hartmann
next prev parent reply other threads:[~2002-06-01 12:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.iklie8v.5k2hbj@ifi.uio.no>
[not found] ` <fa.na0lviv.e2a93a@ifi.uio.no>
2002-05-27 12:58 ` Memory management in Kernel 2.4.x Andreas Hartmann
2002-05-27 13:45 ` Peter Wächtler
2002-05-27 15:25 ` Alan Cox
2002-05-27 14:37 ` Peter Wächtler
2002-05-27 21:22 ` H. Peter Anvin
2002-05-27 21:33 ` Benjamin LaHaise
2002-05-27 21:34 ` H. Peter Anvin
2002-05-27 21:37 ` Benjamin LaHaise
2002-05-27 21:39 ` H. Peter Anvin
2002-05-27 22:50 ` Alan Cox
2002-05-27 21:56 ` William Lee Irwin III
2002-05-27 23:07 ` Alan Cox
2002-05-27 22:48 ` Alan Cox
2002-06-05 13:33 ` Bill Davidsen
2002-05-31 21:19 ` Andrea Arcangeli
2002-06-01 12:35 ` Andreas Hartmann [this message]
2002-06-01 22:59 ` Andrea Arcangeli
2002-06-01 13:12 ` Andreas Hartmann
2002-06-03 8:11 ` Peter Wächtler
2002-05-28 14:46 Dmitry Volkoff
[not found] <fa.n12rl6v.9644rg@ifi.uio.no>
[not found] ` <fa.jd9c9pv.190gl8n@ifi.uio.no>
2002-05-28 5:42 ` Andreas Hartmann
2002-05-28 11:49 ` Alan Cox
2002-05-28 18:14 ` Andreas Hartmann
[not found] <fa.huj8e2v.10ggghn@ifi.uio.no>
[not found] ` <fa.o5cc8mv.12h4to1@ifi.uio.no>
2002-05-27 12:10 ` Andreas Hartmann
2002-05-27 11:52 ` Zwane Mwaikambo
-- strict thread matches above, loose matches on Subject: below --
2002-05-27 9:40 Andreas Hartmann
2002-05-27 10:28 ` Florian Weimer
2002-05-27 12:02 ` Alan Cox
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=3CF8BF88.4090004@athlon.maya.org \
--to=andihartmann@freenet.de \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.