memory leak in scsi_cmd_cache 2.6.15

From: Ariel
Date: Sat Jan 21 2006 - 21:12:38 EST



I have a memory leak in scsi_cmd_cache.

Attached is a pretty graph made by munin, and you can see slab_cache growing constantly since last reboot. Also attached is /proc/config.gz

And here is a copy of /proc/meminfo and /proc/slabinfo

I'm rebooting now since my system is all but unusable (so the mem stats will reset), but if you need any more info let me know.

-Ariel

uname -a
Linux cherryberry.dsgml.com 2.6.15 #4 SMP Thu Jan 12 02:09:21 EST 2006 i686 GNU/Linux

cat /proc/meminfo
MemTotal: 1032816 kB
MemFree: 13404 kB
Buffers: 5040 kB
Cached: 38472 kB
SwapCached: 87320 kB
Active: 152660 kB
Inactive: 10944 kB
HighTotal: 131008 kB
HighFree: 800 kB
LowTotal: 901808 kB
LowFree: 12604 kB
SwapTotal: 8386528 kB
SwapFree: 7860012 kB
Dirty: 992 kB
Writeback: 0 kB
Mapped: 150152 kB
Slab: 827436 kB
CommitLimit: 8902936 kB
Committed_AS: 1186920 kB
PageTables: 3684 kB
VmallocTotal: 114680 kB
VmallocUsed: 63700 kB
VmallocChunk: 47604 kB

cat /proc/slabinfo
slabinfo - version: 2.1
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
nv_pte_t 142 254 12 254 1 : tunables 120 60 8 : slabdata 1 1 0
fib6_nodes 5 113 32 113 1 : tunables 120 60 8 : slabdata 1 1 0
ip6_dst_cache 4 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0
ndisc_cache 1 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0
RAWv6 4 6 640 6 1 : tunables 54 27 8 : slabdata 1 1 0
UDPv6 3 18 640 6 1 : tunables 54 27 8 : slabdata 3 3 0
tw_sock_TCPv6 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
request_sock_TCPv6 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
TCPv6 5 6 1280 3 1 : tunables 24 12 8 : slabdata 2 2 0
packet_task 0 0 44 84 1 : tunables 120 60 8 : slabdata 0 0 0
raid5/md0 256 256 480 8 1 : tunables 54 27 8 : slabdata 32 32 0
rpc_buffers 8 8 2048 2 1 : tunables 24 12 8 : slabdata 4 4 0
rpc_tasks 8 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0
rpc_inode_cache 0 0 512 7 1 : tunables 54 27 8 : slabdata 0 0 0
UNIX 212 240 384 10 1 : tunables 54 27 8 : slabdata 24 24 0
ip_conntrack_expect 0 0 92 42 1 : tunables 120 60 8 : slabdata 0 0 0
ip_conntrack 256 468 216 18 1 : tunables 120 60 8 : slabdata 26 26 0
tcp_bind_bucket 43 203 16 203 1 : tunables 120 60 8 : slabdata 1 1 0
inet_peer_cache 1 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0
secpath_cache 0 0 128 30 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_fib_alias 17 113 32 113 1 : tunables 120 60 8 : slabdata 1 1 0
ip_fib_hash 17 113 32 113 1 : tunables 120 60 8 : slabdata 1 1 0
ip_dst_cache 478 870 256 15 1 : tunables 120 60 8 : slabdata 58 58 0
arp_cache 4 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0
RAW 5 7 512 7 1 : tunables 54 27 8 : slabdata 1 1 0
UDP 33 35 512 7 1 : tunables 54 27 8 : slabdata 5 5 0
tw_sock_TCP 11 30 128 30 1 : tunables 120 60 8 : slabdata 1 1 0
request_sock_TCP 35 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0
TCP 135 161 1152 7 2 : tunables 24 12 8 : slabdata 23 23 0
flow_cache 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
dm-crypt_io 0 0 68 56 1 : tunables 120 60 8 : slabdata 0 0 0
dm_tio 1652 2030 16 203 1 : tunables 120 60 8 : slabdata 10 10 60
dm_io 1652 2030 16 203 1 : tunables 120 60 8 : slabdata 10 10 60
i2o_block_req 32 33 2176 3 2 : tunables 24 12 8 : slabdata 11 11 0
uhci_urb_priv 75 184 40 92 1 : tunables 120 60 8 : slabdata 2 2 7
scsi_cmd_cache 2007640 2007640 384 10 1 : tunables 54 27 8 : slabdata 200764 200764 0
cfq_ioc_pool 0 0 48 78 1 : tunables 120 60 8 : slabdata 0 0 0
cfq_pool 0 0 96 40 1 : tunables 120 60 8 : slabdata 0 0 0
crq_pool 0 0 48 78 1 : tunables 120 60 8 : slabdata 0 0 0
deadline_drq 0 0 52 72 1 : tunables 120 60 8 : slabdata 0 0 0
as_arq 169 531 64 59 1 : tunables 120 60 8 : slabdata 9 9 0
mqueue_inode_cache 1 6 640 6 1 : tunables 54 27 8 : slabdata 1 1 0
fuse_request 0 0 320 12 1 : tunables 54 27 8 : slabdata 0 0 0
fuse_inode 0 0 384 10 1 : tunables 54 27 8 : slabdata 0 0 0
romfs_inode_cache 0 0 364 11 1 : tunables 54 27 8 : slabdata 0 0 0
ntfs_big_inode_cache 0 0 640 6 1 : tunables 54 27 8 : slabdata 0 0 0
ntfs_inode_cache 0 0 176 22 1 : tunables 120 60 8 : slabdata 0 0 0
ntfs_name_cache 0 0 512 8 1 : tunables 54 27 8 : slabdata 0 0 0
ntfs_attr_ctx_cache 0 0 32 113 1 : tunables 120 60 8 : slabdata 0 0 0
ntfs_index_ctx_cache 0 0 64 59 1 : tunables 120 60 8 : slabdata 0 0 0
hpfs_inode_cache 0 0 444 9 1 : tunables 54 27 8 : slabdata 0 0 0
cifs_small_rq 30 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 0
cifs_request 4 4 16640 1 8 : tunables 8 4 0 : slabdata 4 4 0
cifs_oplock_structs 0 0 32 113 1 : tunables 120 60 8 : slabdata 0 0 0
cifs_mpx_ids 3 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0
cifs_inode_cache 0 0 392 10 1 : tunables 54 27 8 : slabdata 0 0 0
smb_request 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
smb_inode_cache 0 0 380 10 1 : tunables 54 27 8 : slabdata 0 0 0
nfs_write_data 36 42 512 7 1 : tunables 54 27 8 : slabdata 6 6 0
nfs_read_data 32 35 512 7 1 : tunables 54 27 8 : slabdata 5 5 0
nfs_inode_cache 0 0 608 6 1 : tunables 54 27 8 : slabdata 0 0 0
nfs_page 0 0 64 59 1 : tunables 120 60 8 : slabdata 0 0 0
isofs_inode_cache 0 0 384 10 1 : tunables 54 27 8 : slabdata 0 0 0
fat_inode_cache 0 0 412 9 1 : tunables 54 27 8 : slabdata 0 0 0
fat_cache 0 0 20 169 1 : tunables 120 60 8 : slabdata 0 0 0
coda_inode_cache 0 0 400 10 1 : tunables 54 27 8 : slabdata 0 0 0
ext2_inode_cache 0 0 468 8 1 : tunables 54 27 8 : slabdata 0 0 0
journal_handle 52 169 20 169 1 : tunables 120 60 8 : slabdata 1 1 0
journal_head 223 720 52 72 1 : tunables 120 60 8 : slabdata 10 10 0
revoke_table 12 254 12 254 1 : tunables 120 60 8 : slabdata 1 1 0
revoke_record 15 203 16 203 1 : tunables 120 60 8 : slabdata 1 1 0
ext3_inode_cache 1941 3320 488 8 1 : tunables 54 27 8 : slabdata 415 415 0
dnotify_cache 154 169 20 169 1 : tunables 120 60 8 : slabdata 1 1 0
dquot 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
eventpoll_pwq 0 0 36 101 1 : tunables 120 60 8 : slabdata 0 0 0
eventpoll_epi 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
inotify_event_cache 0 0 28 127 1 : tunables 120 60 8 : slabdata 0 0 0
inotify_watch_cache 1 101 36 101 1 : tunables 120 60 8 : slabdata 1 1 0
kioctx 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
kiocb 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
fasync_cache 1 203 16 203 1 : tunables 120 60 8 : slabdata 1 1 0
shmem_inode_cache 3813 3840 452 8 1 : tunables 54 27 8 : slabdata 480 480 0
posix_timers_cache 0 0 96 40 1 : tunables 120 60 8 : slabdata 0 0 0
uid_cache 12 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0
sgpool-128 32 32 2048 2 1 : tunables 24 12 8 : slabdata 16 16 0
sgpool-64 32 36 1024 4 1 : tunables 54 27 8 : slabdata 8 9 0
sgpool-32 39 48 512 8 1 : tunables 54 27 8 : slabdata 6 6 0
sgpool-16 42 60 256 15 1 : tunables 120 60 8 : slabdata 4 4 0
sgpool-8 180 180 128 30 1 : tunables 120 60 8 : slabdata 6 6 0
blkdev_ioc 1685 1778 28 127 1 : tunables 120 60 8 : slabdata 14 14 0
blkdev_queue 39 50 388 10 1 : tunables 54 27 8 : slabdata 5 5 0
blkdev_requests 205 480 160 24 1 : tunables 120 60 8 : slabdata 20 20 60
biovec-(256) 260 260 3072 2 2 : tunables 24 12 8 : slabdata 130 130 0
biovec-128 264 265 1536 5 2 : tunables 24 12 8 : slabdata 53 53 0
biovec-64 312 330 768 5 1 : tunables 54 27 8 : slabdata 66 66 0
biovec-16 283 300 256 15 1 : tunables 120 60 8 : slabdata 20 20 0
biovec-4 286 295 64 59 1 : tunables 120 60 8 : slabdata 5 5 0
biovec-1 771 3654 16 203 1 : tunables 120 60 8 : slabdata 18 18 368
bio 756 1440 128 30 1 : tunables 120 60 8 : slabdata 48 48 384
file_lock_cache 30 84 92 42 1 : tunables 120 60 8 : slabdata 2 2 0
sock_inode_cache 407 434 512 7 1 : tunables 54 27 8 : slabdata 62 62 0
skbuff_fclone_cache 286 330 384 10 1 : tunables 54 27 8 : slabdata 33 33 189
skbuff_head_cache 411 555 256 15 1 : tunables 120 60 8 : slabdata 37 37 0
acpi_operand 1232 1288 40 92 1 : tunables 120 60 8 : slabdata 14 14 0
acpi_parse_ext 4 84 44 84 1 : tunables 120 60 8 : slabdata 1 1 0
acpi_parse 65 127 28 127 1 : tunables 120 60 8 : slabdata 1 1 0
acpi_state 66 78 48 78 1 : tunables 120 60 8 : slabdata 1 1 0
proc_inode_cache 54 160 372 10 1 : tunables 54 27 8 : slabdata 16 16 0
sigqueue 135 135 144 27 1 : tunables 120 60 8 : slabdata 5 5 0
radix_tree_node 3442 7896 276 14 1 : tunables 54 27 8 : slabdata 564 564 0
bdev_cache 62 63 512 7 1 : tunables 54 27 8 : slabdata 9 9 0
sysfs_dir_cache 6116 6256 40 92 1 : tunables 120 60 8 : slabdata 68 68 0
mnt_cache 32 60 128 30 1 : tunables 120 60 8 : slabdata 2 2 0
inode_cache 1591 1661 356 11 1 : tunables 54 27 8 : slabdata 151 151 0
dentry_cache 7709 14868 140 28 1 : tunables 120 60 8 : slabdata 531 531 30
filp 3196 4185 256 15 1 : tunables 120 60 8 : slabdata 279 279 0
names_cache 25 25 4096 1 1 : tunables 24 12 8 : slabdata 25 25 0
idr_layer_cache 151 174 136 29 1 : tunables 120 60 8 : slabdata 6 6 0
buffer_head 1996 5688 52 72 1 : tunables 120 60 8 : slabdata 79 79 300
mm_struct 124 161 512 7 1 : tunables 54 27 8 : slabdata 23 23 0
vm_area_struct 7950 9944 88 44 1 : tunables 120 60 8 : slabdata 226 226 1
fs_cache 129 295 64 59 1 : tunables 120 60 8 : slabdata 5 5 0
files_cache 126 154 512 7 1 : tunables 54 27 8 : slabdata 22 22 0
signal_cache 178 220 384 10 1 : tunables 54 27 8 : slabdata 22 22 0
sighand_cache 174 190 1408 5 2 : tunables 24 12 8 : slabdata 38 38 0
task_struct 215 231 1328 3 1 : tunables 24 12 8 : slabdata 77 77 0
anon_vma 2707 5080 12 254 1 : tunables 120 60 8 : slabdata 20 20 0
pgd 124 124 4096 1 1 : tunables 24 12 8 : slabdata 124 124 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 6 6 65536 1 16 : tunables 8 4 0 : slabdata 6 6 0
size-32768(DMA) 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0
size-32768 0 0 32768 1 8 : tunables 8 4 0 : slabdata 0 0 0
size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0
size-16384 4 4 16384 1 4 : tunables 8 4 0 : slabdata 4 4 0
size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0 : slabdata 0 0 0
size-8192 241 250 8192 1 2 : tunables 8 4 0 : slabdata 241 250 0
size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 8 : slabdata 0 0 0
size-4096 436 436 4096 1 1 : tunables 24 12 8 : slabdata 436 436 0
size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 8 : slabdata 0 0 0
size-2048 320 348 2048 2 1 : tunables 24 12 8 : slabdata 174 174 84
size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 8 : slabdata 0 0 0
size-1024 336 336 1024 4 1 : tunables 54 27 8 : slabdata 84 84 0
size-512(DMA) 0 0 512 8 1 : tunables 54 27 8 : slabdata 0 0 0
size-512 651 760 512 8 1 : tunables 54 27 8 : slabdata 95 95 54
size-256(DMA) 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
size-256 1230 1230 256 15 1 : tunables 120 60 8 : slabdata 82 82 0
size-128(DMA) 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
size-128 3390 3390 128 30 1 : tunables 120 60 8 : slabdata 113 113 0
size-64(DMA) 0 0 64 59 1 : tunables 120 60 8 : slabdata 0 0 0
size-32(DMA) 0 0 32 113 1 : tunables 120 60 8 : slabdata 0 0 0
size-64 4880 8732 64 59 1 : tunables 120 60 8 : slabdata 148 148 180
size-32 4085 6102 32 113 1 : tunables 120 60 8 : slabdata 54 54 0
kmem_cache 210 210 128 30 1 : tunables 120 60 8 : slabdata 7 7 0

Attachment: localhost.localdomain-memory-week.png
Description: PNG image

Attachment: config.gz
Description: Binary data