All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: xfsrepair memory consumption
       [not found] <200703210843.TAA08491@larry.melbourne.sgi.com>
@ 2007-03-21 11:08 ` Daniele P.
  2007-03-21 21:36   ` Chris Wedgwood
  0 siblings, 1 reply; 8+ messages in thread
From: Daniele P. @ 2007-03-21 11:08 UTC (permalink / raw)
  To: xfs

On Wednesday 21 March 2007 09:48, Barry Naujok wrote:
> This could be libxfs caching in action.
>
> Another option you can try is:
>
> -o bhash=256
>
> Also, -M and -P options may reduce memory consumption.
> I recommend -M (I'm in the middle of making that default).

Hi Barry,
In the previous test I already used the -M option (no thread).
Using also -P and -o bhash=256 make the memory usage of the new version
of xfs_repair close to the old version with no option for phases
1-5.
This is really useful.
Phase 6 still uses little more memory (killed!).
I will add more memory and will test later.

Thanks,
Daniele P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfsrepair memory consumption
  2007-03-21 11:08 ` xfsrepair memory consumption Daniele P.
@ 2007-03-21 21:36   ` Chris Wedgwood
  2007-03-23  8:36     ` Daniele P.
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Wedgwood @ 2007-03-21 21:36 UTC (permalink / raw)
  To: Daniele P.; +Cc: xfs

On Wed, Mar 21, 2007 at 12:08:27PM +0100, Daniele P. wrote:

> Phase 6 still uses little more memory (killed!).
> I will add more memory and will test later.

Stupid question (Sorry, I didn't read the thread that carefully), is
there any reason you can't just add swap-space and let it thrash a
little?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfsrepair memory consumption
  2007-03-21 21:36   ` Chris Wedgwood
@ 2007-03-23  8:36     ` Daniele P.
  0 siblings, 0 replies; 8+ messages in thread
From: Daniele P. @ 2007-03-23  8:36 UTC (permalink / raw)
  To: xfs

On Wednesday 21 March 2007 22:36, Chris Wedgwood wrote:
> On Wed, Mar 21, 2007 at 12:08:27PM +0100, Daniele P. wrote:
> > Phase 6 still uses little more memory (killed!).
> > I will add more memory and will test later.
>
> Stupid question (Sorry, I didn't read the thread that carefully), is
> there any reason you can't just add swap-space and let it thrash a
> little?

Oh, it's less expensive (less typing) to add ram because it's a
virtual machine.
Finally using the 2.8.20-1 version requires 1 GB of memory vs 750 MB for
2.6.20-1.
Next time I will add more swap by default.

Regards,
Daniele P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfsrepair memory consumption
  2007-03-20 23:48   ` Barry Naujok
@ 2007-03-21  8:35     ` Daniele P.
  0 siblings, 0 replies; 8+ messages in thread
From: Daniele P. @ 2007-03-21  8:35 UTC (permalink / raw)
  To: xfs

On Wednesday 21 March 2007 00:48, you wrote:
> Hi Daniele,
>
> The nlink/phase 7 patch I recently sent out does reduce this
> inode memory requirements which should address the issue you
> see.

Hi Barry, 
maybe this could help. A simple ps -u during xfs_repair show
an increasing memory usage in phase 6 and 7 for 2.8.18-1.
Unfortunately with 2.6.20-1 the memory usage is exploding in
phase 2.

Regards,
Daniele P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfsrepair memory consumption
  2007-03-20 22:13 ` David Chinner
  2007-03-20 23:48   ` Barry Naujok
@ 2007-03-21  8:34   ` Daniele P.
  1 sibling, 0 replies; 8+ messages in thread
From: Daniele P. @ 2007-03-21  8:34 UTC (permalink / raw)
  To: xfs

On Tuesday 20 March 2007 23:13, you wrote:
> On Tue, Mar 20, 2007 at 03:32:05PM +0100, Daniele P. wrote:
> 6 million inodes in your filesystem, and a certain points in
> repair we have to hold indexes of them all (plus some state) in
> memory. Phase 6 is one of these points.

Hi David,
thanks for the explanation. 

> In terms of inode count, I generally use the rule that for every
> 10million inodes you need a gigabyte of RAM for repair - you needed
> about 500MB for 6million inodes.

This is true for 2.6.20-1, but 2.8.18-1 use a lot of memory in
phase 2.
I just want to point out the *increasing* memory requirements rather
than the total amount of memory needed to repair an xfs file system.

Regards,
Daniele P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: xfsrepair memory consumption
  2007-03-20 22:13 ` David Chinner
@ 2007-03-20 23:48   ` Barry Naujok
  2007-03-21  8:35     ` Daniele P.
  2007-03-21  8:34   ` Daniele P.
  1 sibling, 1 reply; 8+ messages in thread
From: Barry Naujok @ 2007-03-20 23:48 UTC (permalink / raw)
  To: 'Daniele P.'; +Cc: xfs

Hi Daniele,

The nlink/phase 7 patch I recently sent out does reduce this 
inode memory requirements which should address the issue you 
see.

I'm going to make one further optimisation in this patch 
which I will repost most likely next week.

Regards,
Barry.

> -----Original Message-----
> From: xfs-bounce@oss.sgi.com [mailto:xfs-bounce@oss.sgi.com] 
> On Behalf Of David Chinner
> Sent: Wednesday, 21 March 2007 9:13 AM
> To: Daniele P.
> Cc: xfs@oss.sgi.com
> Subject: Re: xfsrepair memory consumption
> 
> On Tue, Mar 20, 2007 at 03:32:05PM +0100, Daniele P. wrote:
> > Hi all,
> > I'm just asking if any work has been done/is in progress to improve
> > xfs_repair memory consumption.
> 
> Work is in progress, but it won't really solve your problem.
> See, you've got:
> 
> > enceladus:~# df -i /dev/sdb1
> > Filesystem            Inodes   IUsed   IFree IUse% Mounted on
> > /dev/sdb1            293049664 6511481 286538183    3% /media/300
> 
> 6 million inodes in your filesystem, and a certain points in
> repair we have to hold indexes of them all (plus some state) in
> memory. Phase 6 is one of these points.
> 
> In terms of inode count, I generally use the rule that for every
> 10million inodes you need a gigabyte of RAM for repair - you needed
> about 500MB for 6million inodes.
> 
> We have been trimming bits and pieces off this per-inode usage
> but there comes a point where you just need more memory. That
> is, as filesystem size grows, so does the amount of memory
> needed to repair it in a finite time....
> 
> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> Principal Engineer
> SGI Australian Software Group
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: xfsrepair memory consumption
  2007-03-20 14:32 Daniele P.
@ 2007-03-20 22:13 ` David Chinner
  2007-03-20 23:48   ` Barry Naujok
  2007-03-21  8:34   ` Daniele P.
  0 siblings, 2 replies; 8+ messages in thread
From: David Chinner @ 2007-03-20 22:13 UTC (permalink / raw)
  To: Daniele P.; +Cc: xfs

On Tue, Mar 20, 2007 at 03:32:05PM +0100, Daniele P. wrote:
> Hi all,
> I'm just asking if any work has been done/is in progress to improve
> xfs_repair memory consumption.

Work is in progress, but it won't really solve your problem.
See, you've got:

> enceladus:~# df -i /dev/sdb1
> Filesystem            Inodes   IUsed   IFree IUse% Mounted on
> /dev/sdb1            293049664 6511481 286538183    3% /media/300

6 million inodes in your filesystem, and a certain points in
repair we have to hold indexes of them all (plus some state) in
memory. Phase 6 is one of these points.

In terms of inode count, I generally use the rule that for every
10million inodes you need a gigabyte of RAM for repair - you needed
about 500MB for 6million inodes.

We have been trimming bits and pieces off this per-inode usage
but there comes a point where you just need more memory. That
is, as filesystem size grows, so does the amount of memory
needed to repair it in a finite time....

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

^ permalink raw reply	[flat|nested] 8+ messages in thread

* xfsrepair memory consumption
@ 2007-03-20 14:32 Daniele P.
  2007-03-20 22:13 ` David Chinner
  0 siblings, 1 reply; 8+ messages in thread
From: Daniele P. @ 2007-03-20 14:32 UTC (permalink / raw)
  To: xfs

Hi all,
I'm just asking if any work has been done/is in progress to improve
xfs_repair memory consumption.
I know that xfs tools use a lot of memory but IIRC someone wrote on this
mailing list that s/he'll work on this issue.
But now I see that the memory requirements are increasing instead of
lowering.

I discovered this because running xfs_repair 2.6.20-1 on a 300GB file
system fills up the entire memory on a debian sarge (256MB Mem/256MB
swap) and eventually the process is killed

....
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- ensuring existence of lost+found directory
- traversing filesystem starting at / ...
Killed

Next I tried a self compiled xfsprogs 2.8.18-1 from cvs but things get
worse.
So I increased the memory to 512MB, and made sure not to use the multi
thread but still no luck:

....
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
Killed

Finally using the *old* version 2.6.20-1 with 512MB of memory xfs_repair
finished with success, but using near all the available memory.

More info:

enceladus:~# xfs_info /dev/sdb1
meta-data=/media/iomega300       isize=256    agcount=16, agsize=4578901 blks
         =                       sectsz=512
data     =                       bsize=4096   blocks=73262416, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal               bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=65536  blocks=0, rtextents=0
enceladus:~# df /dev/sdb1
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb1            292918592 164698268 128220324  57% /media/300
enceladus:~# df -i /dev/sdb1
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdb1            293049664 6511481 286538183    3% /media/300

Thanks in Advance,
Daniele P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-03-23  8:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200703210843.TAA08491@larry.melbourne.sgi.com>
2007-03-21 11:08 ` xfsrepair memory consumption Daniele P.
2007-03-21 21:36   ` Chris Wedgwood
2007-03-23  8:36     ` Daniele P.
2007-03-20 14:32 Daniele P.
2007-03-20 22:13 ` David Chinner
2007-03-20 23:48   ` Barry Naujok
2007-03-21  8:35     ` Daniele P.
2007-03-21  8:34   ` Daniele P.

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.