Re: Reducing inode cache usage on 2.4?

From: Andrew Morton
Date: Fri Dec 17 2004 - 20:23:59 EST


James Pearson <james-p@xxxxxxxxxxxxxxxxxx> wrote:
>
> It seems the inode cache has priority over cached file data.

It does. If the machine is full of unmapped clean pagecache pages the
kernel won't even try to reclaim inodes. This should help a bit:

--- 24/mm/vmscan.c~a 2004-12-17 17:18:31.660254712 -0800
+++ 24-akpm/mm/vmscan.c 2004-12-17 17:18:41.821709936 -0800
@@ -659,13 +659,13 @@ int fastcall try_to_free_pages_zone(zone

do {
nr_pages = shrink_caches(classzone, gfp_mask, nr_pages, &failed_swapout);
- if (nr_pages <= 0)
- return 1;
shrink_dcache_memory(vm_vfs_scan_ratio, gfp_mask);
shrink_icache_memory(vm_vfs_scan_ratio, gfp_mask);
#ifdef CONFIG_QUOTA
shrink_dqcache_memory(vm_vfs_scan_ratio, gfp_mask);
#endif
+ if (nr_pages <= 0)
+ return 1;
if (!failed_swapout)
failed_swapout = !swap_out(classzone);
} while (--tries);
_


> What triggers the 'normal ageing round'? Is it possible to trigger this
> earlier (at a lower memory usage), or give a higher priority to cached data?

You could also try lowering /proc/sys/vm/vm_mapped_ratio. That will cause
inodes to be reaped more easily, but will also cause more swapout.
-
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/