public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@suse.cz>
To: Chris Mason <mason@suse.com>
Cc: Hans Reiser <reiser@namesys.com>,
	Denis Vlasenko <vda@ilport.com.ua>,
	linux-kernel@vger.kernel.org,
	Reiserfs developers mail-list <Reiserfs-Dev@namesys.com>
Subject: Re: Recursive chmod/chown OOM kills box with 32MB RAM
Date: Sat, 21 Jan 2006 23:20:08 +0000	[thread overview]
Message-ID: <20060121232008.GA2697@ucw.cz> (raw)
In-Reply-To: <200601300822.47821.mason@suse.com>

Hi!


> > >[CCing namesys]
> > >
> > >Narrowed it down to 100% reproducible case:
> > >
> > >	chown -Rc 0:<n> .
> > >
> > >in a top directory of tree containing ~21938 files
> > >on reiser3 partition:
> > >
> > >	/dev/sdc3 on /.3 type reiserfs (rw,noatime)
> > >
> > >causes oom kill storm. "ls -lR", "find ." etc work fine.
> > >
> > >I suspected that it is a leak in winbindd libnss module,
> > >but chown does not seem to grow larger in top, and also
> > >running it under softlimit -m 400000 still causes oom kills
> > >while chown's RSS stays below 4MB.
> 
> In order for the journaled filesystems to make sure the FS is consistent after 
> a crash, we need to keep some blocks in memory until other blocks have been 
> written.  These blocks are pinned, and can't be freed until a certain amount 
> of io is done.
> 
> In the case of reiserfs, it might pin as much as the size of the journal at 
> any time.  The default journal is 32MB, which is much too large for a system 
> with only 32MB of ram.
> 
> You can shrink the log of an existing filesystem.  The minimum size is 513 
> blocks, you might try 1024 as a good starting poing.
> 
> reiserfstune -s 1024 /dev/xxxx
> 
> The filesystem must be unmounted first.

Could we refuse to mount filesystem unless journal_size <
physmem_size/2 or something like that?

I was not aware of this trap, and it seems unlikely that users know
about it...
								Pavel
-- 
Thanks, Sharp!

  reply	other threads:[~2006-02-02 15:04 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-28 14:13 Recursive chmod/chown OOM kills box with 32MB RAM Denis Vlasenko
2006-01-28 15:01 ` Denis Vlasenko
2006-01-28 16:11   ` Denis Vlasenko
2006-01-30  6:11     ` Hans Reiser
2006-01-30 12:28       ` Denis Vlasenko
2006-02-01 15:21         ` Bernd Eckenfels
2006-02-03  6:21           ` Denis Vlasenko
2006-01-30 13:22       ` Chris Mason
2006-01-21 23:20         ` Pavel Machek [this message]
2006-02-02 15:17           ` Denis Vlasenko
2006-02-02 19:34             ` Bill Davidsen
2006-02-01  7:32         ` Denis Vlasenko
2006-02-01  7:42           ` Hans Reiser
2006-02-02 19:26           ` Bill Davidsen
2006-02-01  7:42         ` Denis Vlasenko
2006-02-01 10:15           ` Denis Vlasenko
2006-02-01 11:45             ` Vitaly Fertman
2006-02-01 14:25               ` Denis Vlasenko
2006-02-01 14:59                 ` Denis Vlasenko
2006-02-01 11:52             ` Edward Shishkin
2006-02-01 14:26               ` Denis Vlasenko
2006-02-01 14:57                 ` Denis Vlasenko
2006-02-01 15:14                   ` Bernd Eckenfels
2006-02-01 15:28                     ` Denis Vlasenko
2006-02-02  7:25         ` Denis Vlasenko
2006-02-02  9:42           ` Vitaly Fertman
2006-02-02 11:52             ` Denis Vlasenko
2006-02-02 19:32           ` Bill Davidsen
2006-02-03  5:57             ` Denis Vlasenko

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=20060121232008.GA2697@ucw.cz \
    --to=pavel@suse.cz \
    --cc=Reiserfs-Dev@namesys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --cc=reiser@namesys.com \
    --cc=vda@ilport.com.ua \
    /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