xfs
[Top] [All Lists]

Re: Major XFS problems...

To: Chris Wedgwood <cw@xxxxxxxx>
Subject: Re: Major XFS problems...
From: Steve Lord <lord@xxxxxxx>
Date: Wed, 08 Sep 2004 17:25:34 -0500
Cc: Jakob Oestergaard <jakob@xxxxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx, William Lee Irwin III <wli@xxxxxxxxxxxxxx>
In-reply-to: <20040908220758.GB24355@xxxxxxxxxxxxxxxxxxxxx>
References: <20040908133954.GB390@xxxxxxxxxxxxx> <20040908192652.GA21082@xxxxxxxxxxxxxxxxxxxxx> <20040908202116.GK390@xxxxxxxxxxxxx> <20040908220758.GB24355@xxxxxxxxxxxxxxxxxxxxx>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.7.1 (X11/20040626)
Chris Wedgwood wrote:
On Wed, Sep 08, 2004 at 10:21:17PM +0200, Jakob Oestergaard wrote:


Would *you* base a production environment on that ?  ;)


I might if I used ext3, they didn't look all the bad but I only
glanced over them.


2.5G RAM IIRC - but slab is in lowmem so the machine will barf when
it reaches ~850MB slab.


Ick.  This is a 'known problem' that some people hit.  Basically you
get bazillions of dentries as the backup runs (or whatever, find /fs
-noleaf, works pretty well too) which consume slab.  What's worse is
that they pin other slab objects used by XFS.  Checking 'bloatmeter'
on my desktop I see:

           xfs_inode:    90327KB   115723KB   78.5
       linvfs_icache:    84445KB   106528KB   79.27
        dentry_cache:    24118KB    62147KB   38.80

This shows for me the largest slab users are xfs_inode and
linvfs_icache, these can't be freed until the dentry_cache objects
that pin them are also freed (the slab-freeing logic isn't aware of
this and I'm not sure that even if it were what would help much even
if it were but I always meant to test if it would help).


Making the dentry cache reclaim from itself rather than just glomming onto
more memory at some point would be a start. Doing it in a generic manner
in the slab code is a little harder though. Each dentry actually has
an associated cost which makes it 'worth more' than the memory it
uses itself.

Steve



<Prev in Thread] Current Thread [Next in Thread>