(cc'ing netdev with permission) [EMAIL PROTECTED] wrote: > > We have a set of machines that have been usually hanging seconds > after reporting an oom-killer: gfp_mask=0xd1, order=0. We've tried > variations of kernels from 2.6.11 through 2.6.16-rc1, with and > without PAE enabled, all seem to want to hang after the syslog > oom-killer message. > > Here's the hardware configuration and setup for your reference: > > motherboard: supermicro X6DH8-XG2, > ram : 4GB > procs : dual xeon-3ghz nocona (running in 32bit environment) > distro : gentoo with vanilla kernel.org kernels > > The bootdrive on this system is a raptor 73G on the onboard > ICH controller (using ata_piix). > > There are 2 sets of 7x400G sata drives on two 3ware 9500 card, > configured in raid5 fashion each. > > We use LVM to aggregate/stripe the two raid5 sets, then use > xfs as the filesystem. > > Each of the machines nfs mounts three other identically > configured systems to give us the added storage capacity. > > The workload on these systems is a commercially available > multithreaded server (they run the flash media server from > macromedia). Originally with the hangs we thought it > was related to the reserved space from the 100 processes with > 100 threads (10000 threads at 8meg thread stack = ~80G), but > reducing it to 128k stacks seems to still cause the system to > hang at peak loads. We can usually make the systems hang within > a half hour during these times (3PM-12AM EST). We've managed > to get the systems to run for a bit longer by killing off the > fms processes every half hour, but this doesn't totally address > the problem as we've had it happen in between then as well. > > I've included the output from /proc/meminfo, /proc/slabinfo, > dmesg, and syslog which show the oom-killer message as well > as subsequent messages. I've also included the kernel config, > and lspci output. The meminfo/slabinfo files are going to > be a bit large as they are from logging the output from the > start of the machine till hang time, but it should give you > an idea of how the stuff grows. This particular set is from > a machine running 2.6.15.1, fyi. >
This failure is due to a leak in the skbuff_head_cache slab. /proc/slabinfo: slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> xfs_chashlist 20 1014 20 169 1 : tunables 120 60 8 : slabdata 6 6 0 xfs_ili 13 112 140 28 1 : tunables 120 60 8 : slabdata 4 4 0 xfs_ifork 0 0 56 67 1 : tunables 120 60 8 : slabdata 0 0 0 xfs_efi_item 0 0 260 15 1 : tunables 54 27 8 : slabdata 0 0 0 xfs_efd_item 0 0 260 15 1 : tunables 54 27 8 : slabdata 0 0 0 xfs_buf_item 0 26 148 26 1 : tunables 120 60 8 : slabdata 0 1 0 xfs_dabuf 3 203 16 203 1 : tunables 120 60 8 : slabdata 1 1 0 xfs_da_state 0 0 336 11 1 : tunables 54 27 8 : slabdata 0 0 0 xfs_trans 1 13 596 13 2 : tunables 54 27 8 : slabdata 1 1 0 xfs_inode 28 220 368 10 1 : tunables 54 27 8 : slabdata 22 22 7 xfs_btree_cur 0 0 140 28 1 : tunables 120 60 8 : slabdata 0 0 0 xfs_bmap_free_item 0 0 16 203 1 : tunables 120 60 8 : slabdata 0 0 0 xfs_buf 42 234 220 18 1 : tunables 120 60 8 : slabdata 11 13 0 xfs_ioend 32 50 76 50 1 : tunables 120 60 8 : slabdata 1 1 0 xfs_vnode 20 170 380 10 1 : tunables 54 27 8 : slabdata 17 17 0 rpc_buffers 8 8 2048 2 1 : tunables 24 12 8 : slabdata 4 4 0 rpc_tasks 14 150 256 15 1 : tunables 120 60 8 : slabdata 5 10 0 rpc_inode_cache 12 14 512 7 1 : tunables 54 27 8 : slabdata 2 2 0 UNIX 187 260 384 10 1 : tunables 54 27 8 : slabdata 26 26 0 tcp_bind_bucket 217 406 16 203 1 : tunables 120 60 8 : slabdata 2 2 0 inet_peer_cache 4 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0 ip_fib_alias 10 113 32 113 1 : tunables 120 60 8 : slabdata 1 1 0 ip_fib_hash 10 113 32 113 1 : tunables 120 60 8 : slabdata 1 1 0 ip_dst_cache 36 90 256 15 1 : tunables 120 60 8 : slabdata 6 6 0 arp_cache 9 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 6 28 512 7 1 : tunables 54 27 8 : slabdata 3 4 0 tw_sock_TCP 45 60 128 30 1 : tunables 120 60 8 : slabdata 2 2 0 request_sock_TCP 1 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0 TCP 5059 5082 1152 7 2 : tunables 24 12 8 : slabdata 726 726 0 dm_tio 346 1421 16 203 1 : tunables 120 60 8 : slabdata 7 7 48 dm_io 503 1421 16 203 1 : tunables 120 60 8 : slabdata 7 7 240 scsi_cmd_cache 84 120 384 10 1 : tunables 54 27 8 : slabdata 12 12 11 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 25 288 52 72 1 : tunables 120 60 8 : slabdata 3 4 0 as_arq 144 236 64 59 1 : tunables 120 60 8 : slabdata 4 4 0 mqueue_inode_cache 1 6 640 6 1 : tunables 54 27 8 : slabdata 1 1 0 udf_inode_cache 0 0 404 9 1 : tunables 54 27 8 : slabdata 0 0 0 romfs_inode_cache 0 0 356 11 1 : tunables 54 27 8 : slabdata 0 0 0 nfs_write_data 84 182 512 7 1 : tunables 54 27 8 : slabdata 25 26 47 nfs_read_data 36 91 512 7 1 : tunables 54 27 8 : slabdata 8 13 4 nfs_inode_cache 42 192 600 6 1 : tunables 54 27 8 : slabdata 32 32 25 nfs_page 292 3186 64 59 1 : tunables 120 60 8 : slabdata 54 54 288 isofs_inode_cache 0 0 376 10 1 : tunables 54 27 8 : slabdata 0 0 0 hugetlbfs_inode_cache 1 11 348 11 1 : tunables 54 27 8 : slabdata 1 1 0 ext2_inode_cache 0 0 460 8 1 : tunables 54 27 8 : slabdata 0 0 0 journal_handle 263 338 20 169 1 : tunables 120 60 8 : slabdata 2 2 0 journal_head 664 1656 52 72 1 : tunables 120 60 8 : slabdata 23 23 388 revoke_table 4 254 12 254 1 : tunables 120 60 8 : slabdata 1 1 0 revoke_record 0 0 16 203 1 : tunables 120 60 8 : slabdata 0 0 0 ext3_inode_cache 952 1424 496 8 1 : tunables 54 27 8 : slabdata 178 178 216 ext3_xattr 0 0 48 78 1 : tunables 120 60 8 : slabdata 0 0 0 dnotify_cache 0 0 20 169 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 0 0 36 101 1 : tunables 120 60 8 : slabdata 0 0 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 0 0 16 203 1 : tunables 120 60 8 : slabdata 0 0 0 shmem_inode_cache 22 54 444 9 1 : tunables 54 27 8 : slabdata 6 6 0 posix_timers_cache 0 0 96 40 1 : tunables 120 60 8 : slabdata 0 0 0 uid_cache 6 59 64 59 1 : tunables 120 60 8 : slabdata 1 1 0 sgpool-128 32 33 2560 3 2 : tunables 24 12 8 : slabdata 11 11 0 sgpool-64 32 33 1280 3 1 : tunables 24 12 8 : slabdata 11 11 0 sgpool-32 35 78 640 6 1 : tunables 54 27 8 : slabdata 9 13 0 sgpool-16 36 100 384 10 1 : tunables 54 27 8 : slabdata 7 10 0 sgpool-8 198 270 256 15 1 : tunables 120 60 8 : slabdata 18 18 60 blkdev_ioc 1762 2032 28 127 1 : tunables 120 60 8 : slabdata 16 16 0 blkdev_queue 30 50 388 10 1 : tunables 54 27 8 : slabdata 5 5 0 blkdev_requests 267 312 160 24 1 : tunables 120 60 8 : slabdata 13 13 104 biovec-(256) 260 260 3072 2 2 : tunables 24 12 8 : slabdata 130 130 0 biovec-128 264 270 1536 5 2 : tunables 24 12 8 : slabdata 54 54 0 biovec-64 276 315 768 5 1 : tunables 54 27 8 : slabdata 58 63 0 biovec-16 281 345 256 15 1 : tunables 120 60 8 : slabdata 21 23 0 biovec-4 288 531 64 59 1 : tunables 120 60 8 : slabdata 8 9 0 biovec-1 792 2030 16 203 1 : tunables 120 60 8 : slabdata 10 10 344 bio 810 1650 128 30 1 : tunables 120 60 8 : slabdata 55 55 464 file_lock_cache 276 336 92 42 1 : tunables 120 60 8 : slabdata 8 8 0 sock_inode_cache 5366 5411 512 7 1 : tunables 54 27 8 : slabdata 773 773 0 skbuff_fclone_cache 259 340 384 10 1 : tunables 54 27 8 : slabdata 34 34 173 skbuff_head_cache 2259630 2280390 256 15 1 : tunables 120 60 8 : slabdata 152026 152026 0 acpi_operand 580 644 40 92 1 : tunables 120 60 8 : slabdata 7 7 0 acpi_parse_ext 0 0 44 84 1 : tunables 120 60 8 : slabdata 0 0 0 acpi_parse 0 0 28 127 1 : tunables 120 60 8 : slabdata 0 0 0 acpi_state 0 0 48 78 1 : tunables 120 60 8 : slabdata 0 0 0 proc_inode_cache 308 429 364 11 1 : tunables 54 27 8 : slabdata 39 39 6 sigqueue 17 54 144 27 1 : tunables 120 60 8 : slabdata 1 2 0 radix_tree_node 2315 10570 276 14 1 : tunables 54 27 8 : slabdata 755 755 172 bdev_cache 12 28 512 7 1 : tunables 54 27 8 : slabdata 4 4 0 sysfs_dir_cache 3744 3864 40 92 1 : tunables 120 60 8 : slabdata 42 42 0 mnt_cache 26 60 128 30 1 : tunables 120 60 8 : slabdata 2 2 0 inode_cache 7198 7271 348 11 1 : tunables 54 27 8 : slabdata 661 661 0 dentry_cache 13958 36428 140 28 1 : tunables 120 60 8 : slabdata 1301 1301 240 filp 11910 11910 256 15 1 : tunables 120 60 8 : slabdata 794 794 0 names_cache 255 255 4096 1 1 : tunables 24 12 8 : slabdata 255 255 0 idr_layer_cache 94 145 136 29 1 : tunables 120 60 8 : slabdata 5 5 0 buffer_head 11741 30528 52 72 1 : tunables 120 60 8 : slabdata 424 424 68 mm_struct 157 210 512 7 1 : tunables 54 27 8 : slabdata 30 30 0 vm_area_struct 28001 28350 92 42 1 : tunables 120 60 8 : slabdata 675 675 0 fs_cache 159 354 64 59 1 : tunables 120 60 8 : slabdata 6 6 0 files_cache 155 203 512 7 1 : tunables 54 27 8 : slabdata 29 29 0 signal_cache 210 270 384 10 1 : tunables 54 27 8 : slabdata 27 27 0 sighand_cache 207 240 1408 5 2 : tunables 24 12 8 : slabdata 48 48 0 task_struct 9737 9912 1280 3 1 : tunables 24 12 8 : slabdata 3304 3304 96 anon_vma 4564 4826 12 254 1 : tunables 120 60 8 : slabdata 19 19 0 pgd 168 339 32 113 1 : tunables 120 60 8 : slabdata 3 3 0 pmd 465 501 4096 1 1 : tunables 24 12 8 : slabdata 465 501 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 11 11 32768 1 8 : tunables 8 4 0 : slabdata 11 11 0 size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 23 34 16384 1 4 : tunables 8 4 0 : slabdata 23 34 0 size-8192(DMA) 0 0 8192 1 2 : tunables 8 4 0 : slabdata 0 0 0 size-8192 10162 10171 8192 1 2 : tunables 8 4 0 : slabdata 10162 10171 0 size-4096(DMA) 0 0 4096 1 1 : tunables 24 12 8 : slabdata 0 0 0 size-4096 12569 12569 4096 1 1 : tunables 24 12 8 : slabdata 12569 12569 12 size-2048(DMA) 0 0 2048 2 1 : tunables 24 12 8 : slabdata 0 0 0 size-2048 302 342 2048 2 1 : tunables 24 12 8 : slabdata 170 171 2 size-1024(DMA) 0 0 1024 4 1 : tunables 54 27 8 : slabdata 0 0 0 size-1024 471 520 1024 4 1 : tunables 54 27 8 : slabdata 130 130 6 size-512(DMA) 0 0 512 8 1 : tunables 54 27 8 : slabdata 0 0 0 size-512 14877 14904 512 8 1 : tunables 54 27 8 : slabdata 1863 1863 162 size-256(DMA) 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0 size-256 916 1005 256 15 1 : tunables 120 60 8 : slabdata 67 67 0 size-128(DMA) 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0 size-128 3153 3780 128 30 1 : tunables 120 60 8 : slabdata 126 126 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 4186 4838 64 59 1 : tunables 120 60 8 : slabdata 82 82 0 size-32 26668 26668 32 113 1 : tunables 120 60 8 : slabdata 236 236 0 kmem_cache 180 180 128 30 1 : tunables 120 60 8 : slabdata 6 6 0 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html