public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andreas Hartmann <andihartmann@freenet.de>
To: linux-kernel@vger.kernel.org
Subject: Re: Memory management in Kernel 2.4.x
Date: Mon, 27 May 2002 14:10:49 +0200	[thread overview]
Message-ID: <act7oa$5cl$1@ID-44327.news.dfncis.de> (raw)
In-Reply-To: <fa.huj8e2v.10ggghn@ifi.uio.no> <fa.o5cc8mv.12h4to1@ifi.uio.no>

Alan Cox wrote:

> On Mon, 2002-05-27 at 10:40, Andreas Hartmann wrote:
>> Unfortunately, the memory management of kernel 2.4.x didn't get better
>> until today. It is very easy to make a machine dead. Take the following
>> script:
>> 
>> 
http://groups.google.com/groups?q=malloc+bestie&hl=de&lr=&selm=slrn8aiglm.tqd.pfk@c.zeiss.de&rnum=2
>> 
>> 
>> The result with kernel 2.4.19pre8ac4:
>> 
>> May 27 11:04:21 athlon kernel: Out of Memory: Killed process 763 (knode).
> 
> This appears to be correct behaviour. You allocated astronomical amounts
> of memory and had memory overcommit enabled so it broke. Thats
> configurable and you can if you wish disable overcommit in the -ac
> kernel by setting /proc/sys/vm/overcommit_memory to 2 (thats not
> supported by the base 2.4 kernels yet). If you can make it OOM in that
> mode then I am interested indeed.

I tested it and got in the result the same problem. Well, no processes got 
killed by the kernel and the virtual memory didn't grow up to the end (as 
far as I could see it).
But every (other, regular) process crashed when it wanted to have some 
memory because it didn't get the memory. Or I wasn't able to start any new 
process - I even couldn't do a logon via ssh or a local login at the 
console.


May 27 13:37:12 athlon login: PAM unable to 
dlopen(/lib/security/pam_pwdb.so)
May 27 13:37:12 athlon login: PAM [dlerror: libpwdb.so.0: failed to map 
segment from shared object: Cannot allocate memory]
May 27 13:37:12 athlon login: PAM adding faulty module: 
/lib/security/pam_pwdb.so
May 27 13:37:13 athlon out of memory [198out of me]
May 27 13:37:15 athlon login: PAM unable to 
dlopen(/lib/security/pam_pwdb.so)
May 27 13:37:15 athlon login: PAM [dlerror: libpwdb.so.0: failed to map 
segment from shared object: Cannot allocate memory]
May 27 13:37:15 athlon login: PAM adding faulty module: 
/lib/security/pam_pwdb.so
May 27 13:37:15 athlon out of memory [2617out of m]
May 27 13:37:15 athlon last message repeated 29 times
May 27 13:37:23 athlon login: PAM unable to 
dlopen(/lib/security/pam_pwdb.so)
May 27 13:37:23 athlon login: PAM [dlerror: libpwdb.so.0: failed to map 
segment from shared object: Cannot allocate memory]
May 27 13:37:23 athlon login: PAM adding faulty module: 
/lib/security/pam_pwdb.so
May 27 13:37:23 athlon out of memory [2620out of m]
May 27 13:37:23 athlon last message repeated 29 times
May 27 13:37:27 athlon login: PAM unable to 
dlopen(/lib/security/pam_pwdb.so)
May 27 13:37:27 athlon login: PAM [dlerror: libpwdb.so.0: failed to map 
segment from shared object: Cannot allocate memory]
May 27 13:37:27 athlon login: PAM adding faulty module: 
/lib/security/pam_pwdb.so
May 27 13:37:27 athlon out of memory [199out of me]
May 27 13:39:36 athlon login: PAM unable to 
dlopen(/lib/security/pam_pwdb.so)
May 27 13:39:36 athlon login: PAM [dlerror: libpwdb.so.0: failed to map 
segment from shared object: Cannot allocate memory]
May 27 13:39:36 athlon login: PAM adding faulty module: 
/lib/security/pam_pwdb.so
May 27 13:39:36 athlon out of memory [2629out of m]
May 27 13:39:36 athlon last message repeated 29 times
May 27 13:42:01 athlon sshd[124]: error: fork: Cannot allocate memory

All in all, the overcommitment - option seems to work fine (the machine 
responded well :-)), but it should restrict just the process which leads 
the machine to death. All other processes should be as free as before.

> The rsync one is more interesting, it could be something doing huge
> amounts of memory allocations it could also be excessive kernel usage or
> wrong OOM semantics somewhere.

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.


Regards,
Andreas Hartmann

       reply	other threads:[~2002-05-27 12:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.huj8e2v.10ggghn@ifi.uio.no>
     [not found] ` <fa.o5cc8mv.12h4to1@ifi.uio.no>
2002-05-27 12:10   ` Andreas Hartmann [this message]
2002-05-27 11:52     ` Memory management in Kernel 2.4.x Zwane Mwaikambo
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.iklie8v.5k2hbj@ifi.uio.no>
     [not found] ` <fa.na0lviv.e2a93a@ifi.uio.no>
2002-05-27 12:58   ` 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
2002-06-01 22:59           ` Andrea Arcangeli
2002-06-01 13:12         ` Andreas Hartmann
2002-06-03  8:11         ` Peter Wächtler
  -- 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='act7oa$5cl$1@ID-44327.news.dfncis.de' \
    --to=andihartmann@freenet.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