Hi,
Thanks for all this informations.
I'm testing an other solution, it's using a patch who increase the
quantity of low memory.
http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.23pre6aa3/00_3.5G-address-space-5
http://lwn.net/Articles/39925/
I will reply to this Email if the patch work correctly.
Thx,
Brice GIBOUDEAU
> 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
>
|