linux filedata caching

From: Ed (google_at_bluepolka.net)
Date: 01/28/04


Date: 27 Jan 2004 17:31:26 -0800

I am experiencing what appears to be pages being crowded out of some
kernel-level file data cache, causing performance degradation on a
very high-volume database server (intel box running kernel 2.4.23
SMP). I have 3.5gb of RAM available (inactive), so I'd like to try
increasing the amount of memory utilized for file data caching. How
is this done? Maybe changing a setting in slabinfo, but which cache?
Any other obvious speed-up tricks? Below is my current setup...

TIA.

$ cat /proc/meminfo
        total: used: free: shared: buffers: cached:
Mem: 5826670592 5634199552 192471040 0 65417216 4958203904
Swap: 2093129728 62562304 2030567424
MemTotal: 5690108 kB
MemFree: 187960 kB
MemShared: 0 kB
Buffers: 63884 kB
Cached: 4839424 kB
SwapCached: 2572 kB
Active: 1938052 kB
Inactive: 3334992 kB
HighTotal: 4849636 kB
HighFree: 5836 kB
LowTotal: 840472 kB
LowFree: 182124 kB
SwapTotal: 2044072 kB
SwapFree: 1982976 kB

$ cat /proc/slabinfo
slabinfo - version: 1.1 (SMP)
kmem_cache 80 80 244 5 5 1 : 252 126
ip_fib_hash 11 336 32 3 3 1 : 252 126
journal_head 875 1001 48 13 13 1 : 252 126
revoke_table 2 250 12 1 1 1 : 252 126
revoke_record 448 448 32 4 4 1 : 252 126
clip_arp_cache 0 0 128 0 0 1 : 252 126
ip_mrt_cache 0 0 128 0 0 1 : 252 126
tcp_tw_bucket 1104 1230 128 41 41 1 : 252 126
tcp_bind_bucket 1181 1344 32 12 12 1 : 252 126
tcp_open_request 240 240 128 8 8 1 : 252 126
inet_peer_cache 4 58 64 1 1 1 : 252 126
ip_dst_cache 498 510 256 34 34 1 : 252 126
arp_cache 11 60 128 2 2 1 : 252 126
blkdev_requests 3072 3090 128 103 103 1 : 252 126
dnotify_cache 0 0 20 0 0 1 : 252 126
file_lock_cache 2 40 96 1 1 1 : 252 126
fasync_cache 0 0 16 0 0 1 : 252 126
uid_cache 19 224 32 2 2 1 : 252 126
skbuff_head_cache 1044 1170 256 78 78 1 : 252 126
sock 306 336 1280 112 112 1 : 60 30
sigqueue 377 377 132 13 13 1 : 252 126
kiobuf 0 0 64 0 0 1 : 252 126
cdev_cache 31 696 64 12 12 1 : 252 126
bdev_cache 4 116 64 2 2 1 : 252 126
mnt_cache 15 174 64 3 3 1 : 252 126
inode_cache 33874 34923 512 4989 4989 1 : 124 62
dentry_cache 34898 54990 128 1833 1833 1 : 252 126
dquot 0 0 128 0 0 1 : 252 126
filp 12191 12240 128 408 408 1 : 252 126
names_cache 21 21 4096 21 21 1 : 60 30
buffer_head 1262704 1268460 128 42282 42282 1 : 252 126
mm_struct 600 600 256 40 40 1 : 252 126
vm_area_struct 7330 9030 128 301 301 1 : 252 126
fs_cache 707 754 64 13 13 1 : 252 126
files_cache 434 434 512 62 62 1 : 124 62
signal_act 292 352 1408 32 32 4 : 60 30
pae_pgd 705 754 64 13 13 1 : 252 126
size-131072(DMA) 0 0 131072 0 0 32 : 0 0
size-131072 0 0 131072 0 0 32 : 0 0
size-65536(DMA) 0 0 65536 0 0 16 : 0 0
size-65536 1 1 65536 1 1 16 : 0 0
size-32768(DMA) 0 0 32768 0 0 8 : 0 0
size-32768 0 0 32768 0 0 8 : 0 0
size-16384(DMA) 0 0 16384 0 0 4 : 0 0
size-16384 0 0 16384 0 0 4 : 0 0
size-8192(DMA) 0 0 8192 0 0 2 : 0 0
size-8192 5 5 8192 5 5 2 : 0 0
size-4096(DMA) 0 0 4096 0 0 1 : 60 30
size-4096 211 241 4096 211 241 1 : 60 30
size-2048(DMA) 0 0 2048 0 0 1 : 60 30
size-2048 332 362 2048 170 181 1 : 60 30
size-1024(DMA) 0 0 1024 0 0 1 : 124 62
size-1024 584 584 1024 146 146 1 : 124 62
size-512(DMA) 0 0 512 0 0 1 : 124 62
size-512 270 344 512 40 43 1 : 124 62
size-256(DMA) 0 0 256 0 0 1 : 252 126
size-256 564 690 256 46 46 1 : 252 126
size-128(DMA) 0 0 128 0 0 1 : 252 126
size-128 1611 1650 128 55 55 1 : 252 126
size-64(DMA) 0 0 128 0 0 1 : 252 126
size-64 828 1350 128 45 45 1 : 252 126
size-32(DMA) 0 0 64 0 0 1 : 252 126
size-32 2957 10382 64 179 179 1 : 252 126

$ cat /proc/sys/vm/bdflush
30 500 0 0 500 3000 60 20 0