I'm doing some performance tweaking on a web server that has a 2TB JFS partition, and I'm curious about a memory usage pattern I'm seeing with regards to the Buffer/Cache usage reported in /proc/meminfo.

The system has 2GB of RAM. At the moment, ~117MB is free, ~1.5GB is being used for buffers(!), and ~180MB is cached. I'm concerned that the relatively small amount of disk cache is hurting performance.

I originally posted this issue to LKML, and Andrew Morton thought it might be something JFS specific. (lots of metadata in the blockdev pagecache?)

The machine uses Apache (mpm_worker) to serve up image files - a third thumbnails (<1kB), a third resized to the 50-100kB range, and a third originals (max 1MB). Thumbnails should be getting served much more frequently than the others, so the disk access pattern is lots of small files. Directories are hashed year/month/day/hour with maybe 4000 files in each. The filesystem is mounted with -o noatime and I'm using the cfq elevator.

I'm running Debian stable on a dual-Opteron system:

Linux file003b 2.6.8-11-amd64-k8-smp #1 SMP Wed Jun 1 00:01:27 CEST 2005 x86_64 GNU/Linux

slabtop shows ~161MB total size. Far and away the bigest slab users are buffer_head at ~50MB and radix_tree_node at ~99MB.

The machine is fairly responsive, but I'm seeing a load average of between 2 and 3 with about 250 concurrent Apache requests - I'm obviously hoping for better performance.

Ideas? Or is this about what one would expect given the system configuration and workload?

/proc/meminfo:

MemTotal:      2053532 kB
MemFree:        181112 kB
Buffers:       1520348 kB
Cached:         116888 kB
SwapCached:          0 kB
Active:         891464 kB
Inactive:       785828 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      2053532 kB
LowFree:        181112 kB
SwapTotal:     7815580 kB
SwapFree:      7815580 kB
Dirty:           17772 kB
Writeback:           0 kB
Mapped:          48116 kB
Slab:           174020 kB
Committed_AS:  2630836 kB
PageTables:       2996 kB
VmallocTotal: 536870911 kB
VmallocUsed:      4592 kB
VmallocChunk: 536866319 kB

/proc/slabinfo:

slabinfo - version: 2.0
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <batchcount> <limit> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> xfrm6_tunnel_spi 0 0 64 61 1 : tunables 120 60 8 : slabdata 0 0 0 fib6_nodes 5 61 64 61 1 : tunables 120 60 8 : slabdata 1 1 0 ip6_dst_cache 10 24 320 12 1 : tunables 54 27 8 : slabdata 2 2 0 ndisc_cache 1 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0 raw6_sock 0 0 1024 4 1 : tunables 54 27 8 : slabdata 0 0 0 udp6_sock 0 0 960 4 1 : tunables 54 27 8 : slabdata 0 0 0 tcp6_sock 219 240 1664 4 2 : tunables 24 12 8 : slabdata 60 60 0 ip_fib_hash 9 119 32 119 1 : tunables 120 60 8 : slabdata 1 1 0 jfs_mp 241 270 144 27 1 : tunables 120 60 8 : slabdata 10 10 60 jfs_ip 4212 4212 1176 3 1 : tunables 24 12 8 : slabdata 1404 1404 0 ext3_inode_cache 254 335 768 5 1 : tunables 54 27 8 : slabdata 67 67 0 ext3_xattr 0 0 88 45 1 : tunables 120 60 8 : slabdata 0 0 0 journal_handle 81 81 48 81 1 : tunables 120 60 8 : slabdata 1 1 0 journal_head 179 405 88 45 1 : tunables 120 60 8 : slabdata 9 9 0 revoke_table 8 225 16 225 1 : tunables 120 60 8 : slabdata 1 1 0 revoke_record 0 0 32 119 1 : tunables 120 60 8 : slabdata 0 0 0 scsi_cmd_cache 103 112 512 7 1 : tunables 54 27 8 : slabdata 16 16 55 sgpool-128 32 32 4096 1 1 : tunables 24 12 8 : slabdata 32 32 0 sgpool-64 32 32 2048 2 1 : tunables 24 12 8 : slabdata 16 16 0 sgpool-32 56 56 1024 4 1 : tunables 54 27 8 : slabdata 14 14 0 sgpool-16 77 88 512 8 1 : tunables 54 27 8 : slabdata 11 11 0 sgpool-8 195 195 256 15 1 : tunables 120 60 8 : slabdata 13 13 60 unix_sock 35 35 768 5 1 : tunables 54 27 8 : slabdata 7 7 0 clip_arp_cache 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0 ip_mrt_cache 0 0 128 31 1 : tunables 120 60 8 : slabdata 0 0 0 tcp_tw_bucket 316 440 192 20 1 : tunables 120 60 8 : slabdata 22 22 0 tcp_bind_bucket 137 238 32 119 1 : tunables 120 60 8 : slabdata 2 2 60 tcp_open_request 28 31 128 31 1 : tunables 120 60 8 : slabdata 1 1 0 inet_peer_cache 0 0 128 31 1 : tunables 120 60 8 : slabdata 0 0 0 secpath_cache 0 0 192 20 1 : tunables 120 60 8 : slabdata 0 0 0 xfrm_dst_cache 0 0 384 10 1 : tunables 54 27 8 : slabdata 0 0 0 ip_dst_cache 892 2610 384 10 1 : tunables 54 27 8 : slabdata 261 261 0 arp_cache 2 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0 raw4_sock 0 0 832 9 2 : tunables 54 27 8 : slabdata 0 0 0 udp_sock 5 18 832 9 2 : tunables 54 27 8 : slabdata 2 2 0 tcp_sock 34 40 1472 5 2 : tunables 24 12 8 : slabdata 8 8 0 flow_cache 0 0 128 31 1 : tunables 120 60 8 : slabdata 0 0 0 mqueue_inode_cache 1 4 896 4 1 : tunables 54 27 8 : slabdata 1 1 0 devfsd_event 0 0 32 119 1 : tunables 120 60 8 : slabdata 0 0 0 dquot 0 0 224 17 1 : tunables 120 60 8 : slabdata 0 0 0 eventpoll_pwq 0 0 72 54 1 : tunables 120 60 8 : slabdata 0 0 0 eventpoll_epi 0 0 192 20 1 : tunables 120 60 8 : slabdata 0 0 0 kioctx 0 0 384 10 1 : tunables 54 27 8 : slabdata 0 0 0 kiocb 0 0 128 31 1 : tunables 120 60 8 : slabdata 0 0 0 dnotify_cache 0 0 40 96 1 : tunables 120 60 8 : slabdata 0 0 0 file_lock_cache 2 23 168 23 1 : tunables 120 60 8 : slabdata 1 1 0 fasync_cache 0 0 24 156 1 : tunables 120 60 8 : slabdata 0 0 0 shmem_inode_cache 6 8 832 4 1 : tunables 54 27 8 : slabdata 2 2 0 posix_timers_cache 0 0 176 22 1 : tunables 120 60 8 : slabdata 0 0 0 uid_cache 3 61 64 61 1 : tunables 120 60 8 : slabdata 1 1 0 cfq_pool 150 207 56 69 1 : tunables 120 60 8 : slabdata 3 3 3 crq_pool 348 432 72 54 1 : tunables 120 60 8 : slabdata 8 8 224 deadline_drq 0 0 96 41 1 : tunables 120 60 8 : slabdata 0 0 0 as_arq 0 0 112 35 1 : tunables 120 60 8 : slabdata 0 0 0 blkdev_ioc 450 476 32 119 1 : tunables 120 60 8 : slabdata 4 4 0 blkdev_queue 17 18 840 9 2 : tunables 54 27 8 : slabdata 2 2 0 blkdev_requests 267 375 264 15 1 : tunables 54 27 8 : slabdata 25 25 189 biovec-(256) 256 256 4096 1 1 : tunables 24 12 8 : slabdata 256 256 0 biovec-128 256 256 2048 2 1 : tunables 24 12 8 : slabdata 128 128 0 biovec-64 301 328 1024 4 1 : tunables 54 27 8 : slabdata 80 82 13 biovec-16 372 390 256 15 1 : tunables 120 60 8 : slabdata 25 26 0 biovec-4 397 427 64 61 1 : tunables 120 60 8 : slabdata 7 7 60 biovec-1 648 2025 16 225 1 : tunables 120 60 8 : slabdata 9 9 300 bio 707 1364 128 31 1 : tunables 120 60 8 : slabdata 44 44 300 sock_inode_cache 308 366 640 6 1 : tunables 54 27 8 : slabdata 61 61 0 skbuff_head_cache 1035 1440 320 12 1 : tunables 54 27 8 : slabdata 120 120 162 sock 2 6 640 6 1 : tunables 54 27 8 : slabdata 1 1 0 proc_inode_cache 78 78 640 6 1 : tunables 54 27 8 : slabdata 13 13 0 sigqueue 0 0 168 23 1 : tunables 120 60 8 : slabdata 0 0 0 radix_tree_node 158919 174223 536 7 1 : tunables 54 27 8 : slabdata 24889 24889 0 bdev_cache 9 15 768 5 1 : tunables 54 27 8 : slabdata 3 3 0 mnt_cache 26 40 192 20 1 : tunables 120 60 8 : slabdata 2 2 0 inode_cache 2256 2282 576 7 1 : tunables 54 27 8 : slabdata 326 326 0 dentry_cache 6848 8144 248 16 1 : tunables 120 60 8 : slabdata 509 509 0 filp 672 1050 256 15 1 : tunables 120 60 8 : slabdata 70 70 60 names_cache 33 33 4096 1 1 : tunables 24 12 8 : slabdata 33 33 0 idr_layer_cache 51 56 528 7 1 : tunables 54 27 8 : slabdata 8 8 0 buffer_head 409537 514796 96 41 1 : tunables 120 60 8 : slabdata 12556 12556 0 mm_struct 96 96 1024 4 1 : tunables 54 27 8 : slabdata 24 24 0 vm_area_struct 2912 4444 176 22 1 : tunables 120 60 8 : slabdata 202 202 480 fs_cache 92 183 64 61 1 : tunables 120 60 8 : slabdata 3 3 0 files_cache 59 81 832 9 2 : tunables 54 27 8 : slabdata 9 9 0 signal_cache 123 155 128 31 1 : tunables 120 60 8 : slabdata 5 5 0 sighand_cache 79 84 2112 3 2 : tunables 24 12 8 : slabdata 28 28 0 task_struct 387 399 2112 3 2 : tunables 24 12 8 : slabdata 133 133 0 anon_vma 636 1092 24 156 1 : tunables 120 60 8 : slabdata 7 7 240 shared_policy_node 0 0 56 69 1 : tunables 120 60 8 : slabdata 0 0 0 numa_policy 23 225 16 225 1 : tunables 120 60 8 : slabdata 1 1 0 size-131072(DMA) 0 0 131072 1 32 : tunables 8 4 0 : slabdata 0 0 0 size-131072 0 0 131072 1 32 : tunables 8 4 0 : slabdata 0 0 0 size-65536(DMA) 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0 size-65536 0 0 65536 1 16 : tunables 8 4 0 : slabdata 0 0 0 size-32768(DMA) 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0 size-32768 4 4 32768 1 8 : tunables 8 4 0 : slabdata 4 4 0 size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 209 209 16384 1 4 : tunables 8 4 0 : slabdata 209 209 0 size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0 : slabdata 0 0 0 size-8192 23 23 8192 1 2 : tunables 8 4 0 : slabdata 23 23 0 size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 8 : slabdata 0 0 0 size-4096 106 127 4096 1 1 : tunables 24 12 8 : slabdata 106 127 0 size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 8 : slabdata 0 0 0 size-2048 788 800 2048 2 1 : tunables 24 12 8 : slabdata 400 400 60 size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 8 : slabdata 0 0 0 size-1024 344 508 1024 4 1 : tunables 54 27 8 : slabdata 127 127 11 size-512(DMA) 0 0 512 8 1 : tunables 54 27 8 : slabdata 0 0 0 size-512 408 608 512 8 1 : tunables 54 27 8 : slabdata 76 76 189 size-256(DMA) 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0 size-256 77 780 256 15 1 : tunables 120 60 8 : slabdata 52 52 0 size-192(DMA) 0 0 192 20 1 : tunables 120 60 8 : slabdata 0 0 0 size-192 1725 1780 192 20 1 : tunables 120 60 8 : slabdata 89 89 0 size-128(DMA) 0 0 128 31 1 : tunables 120 60 8 : slabdata 0 0 0 size-128 1178 1178 128 31 1 : tunables 120 60 8 : slabdata 38 38 0 size-64(DMA) 0 0 64 61 1 : tunables 120 60 8 : slabdata 0 0 0 size-64 2542 3843 64 61 1 : tunables 120 60 8 : slabdata 63 63 0 size-32(DMA) 0 0 32 119 1 : tunables 120 60 8 : slabdata 0 0 0 size-32 758 3213 32 119 1 : tunables 120 60 8 : slabdata 27 27 60 kmem_cache 120 120 256 15 1 : tunables 120 60 8 : slabdata 8 8 0

JFS Logmgr stats
================
commits = 14435432
writes submitted = 3636590
writes completed = 3636590
full pages submitted = 3452082
partial pages submitted = 83620

JFS Metapage statistics
=======================
page allocations = 350731809
page frees = 350732253
lock waits = 22250

JFS TxStats
===========
calls to txBegin = 14435432
txBegin blocked by sync barrier = 0
txBegin blocked by tlocks low = 0
txBegin blocked by no free tid = 0
calls to txBeginAnon = 75863385
txBeginAnon blocked by sync barrier = 0
txBeginAnon blocked by tlocks low = 0
calls to txLockAlloc = 93969666
tLockAlloc blocked by no free lock = 0

JFS Xtree statistics
====================
searches = 346666367
fast searches = 245378192
splits = 1308


--
Dave Pifke, [EMAIL PROTECTED]
Sr. System Administrator, www.bebo.com


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion

Reply via email to