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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox