xfs
[Top] [All Lists]

Re: XFS trouble.

To: Brice GIBOUDEAU <brice@xxxxxxxxxx>
Subject: Re: XFS trouble.
From: David Chinner <dgc@xxxxxxx>
Date: Fri, 5 Aug 2005 10:40:37 +1000
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <3088.194.2.155.29.1123145618.squirrel@www.pingus.org>; from brice@pingus.org on Thu, Aug 04, 2005 at 10:53:38AM +0200
References: <3761.194.2.155.29.1123053709.squirrel@www.pingus.org> <20050804090050.B21661319@melbourne.sgi.com> <3088.194.2.155.29.1123145618.squirrel@www.pingus.org>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.2.5.1i
On Thu, Aug 04, 2005 at 10:53:38AM +0200, Brice GIBOUDEAU wrote:
> Hi,
> 
> I give more details.

Ta. Looks like lowmem exhaustion:

> /proc/meminfo :
> ---------------
> 
> Tue Aug  2 02:04:01 CEST 2005
>         total:    used:    free:  shared: buffers:  cached:
> Mem:  16966471680 15623704576 1342767104        0   180224 14847438848
> Swap: 32737632256        0 32737632256
> MemTotal:     16568820 kB
> MemFree:       1311296 kB
> MemShared:           0 kB
> Buffers:           176 kB
> Cached:       14499452 kB

Large page cache...

> SwapCached:          0 kB
> Active:           1932 kB
> Inactive:     14497760 kB

Mostly inactive...

> HighTotal:    15858532 kB
> HighFree:      1305552 kB
> LowTotal:       710288 kB
> LowFree:          5744 kB 

And very little low memory free.

> LowTotal:       710288 kB
> LowFree:          4788 kB

Yup, not much there at all.

> /proc/slabinfo :
> ----------------
> 
> Tue Aug  2 02:04:02 CEST 2005
> slabinfo - version: 1.1 (SMP)
> xfs_inode         208657 208719    408 23191 23191    1 :  124   62
> linvfs_icache     208700 208700    384 20870 20870    1 :  124   62
> buffer_head       3624879 3751050    128 125034 125035    1 :  252  126

So we have 80MiB in xfs inodes, another 80MiB in linvfs_icache, and
460MiB in buffer heads. So that's a total of 620MiB of your 700MiB
of low memory right there, and probably the source of the memory
exhaustion.

The buffer heads are the real problem - and that's related to the
size of the page cache. IIRC we have at least one buffer head per
page. With 14499452k of page cache, that's at least 3,624,863 buffer
heads needed at one per page. Looks pretty close, to me.

This does look like a highmem/lowmem reclaim issue to me - the
pagecache in the highmem area needs to be reclaimed to free
up buffer heads in the lowmem region. because there is lots
of free memory in the highmem region, I doubt the reclaim
code is freeing it up sufficiently.

One quick thing to try is limit the machine to, say, 12GiB of RAM
(mem=xxx boot option) and that will limit buffer head usage to less
that 400MiB of low memory. That should prevent you from exhausting
lowmem by bounding the maximum size of the kernel pagecache at
a point below where lowmem exhaustion occurs.

Another option is to go to a 2.6 kernel as, IIRC, XFS no longer
has the buffer-head-per-cached-page behaviour in 2.6. Hence you
won't consume anywhere near as much lowmem on a 2.6 kernel when
the kernel lets the page cache grow so large....

Yet another option is to move to a 64bit platform that doesn't have
this lowmem/highmem memory architecture...

HTH.

Cheers,

Dave.
-- 
Dave Chinner
R&D Software Enginner
SGI Australian Software Group


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