Re: Recursive chmod/chown OOM kills box with 32MB RAM

From: Denis Vlasenko
Date: Thu Feb 02 2006 - 02:23:56 EST


On Monday 30 January 2006 15:22, Chris Mason wrote:
> > > 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.
>
> 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

I had reiserfsprogs 3.6.11 and reiserfstune (above command) made my /dev/sdc3
unmountable without -t reiserfs. I upgraded reiserfsprogs to 3.6.19 and now
reiserfsck /dev/sdc3 reports no problems, but mount problem persists:

# mount -t reiserfs /dev/sdc3 /.3
# umount /.3
# mount /dev/sdc3 /.3
mount: you must specify the filesystem type
# dmesg | tail -3
br: port 1(ifi) entering forwarding state
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev sdc3.

"chown -Rc <n>:<m> ." now does not OOM kill the box, so this issue
is resolved, thanks!

Can I restore sdc3 somehow that I won't need -t reiserfs in mount command?
You can find result of

dd if=/dev/sdc3 of=1m bs=1M count=1

at http://195.66.192.167/linux/1m
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/