[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#576838: KVM: networking stack tanks after page allocation failure



On 2010-04-08, micah anderson wrote:
> On Wed, 2010-04-07 at 11:52 -0400, Micah Anderson wrote:
> > Package: linux-image-2.6.32-2-amd64
> > Version: 2.6.32-8~bpo50+1
> > Severity: important
> > 
> > I'm running a tor exit node on a kvm instance, it runs for a little
> > while (between an hour and 3 days), doing 30-40mbit/sec and then
> > suddenly 'swapper: page allocation failure' happens, and the entire
> > networking stack of the kvm instance is dead. It stops responding on
> > the net completely. No ping in or out, no traffic can be observed
> > using tcpdump, the counters on the interface no longer change
> > (although the interface stays up).
> [...]
> 
> It sounds like there might be a memory leak.  Please send the contents
> of /proc/meminfo and /proc/slabinfo from a 'normal' state and the broken
> state.

I noticed this time when it crashed something different that I had not
seen in previous 2.6.30/2.6.26 kernels:

[ 7962.841287] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[ 7962.841287]   cache: kmalloc-1024, object size: 1024, buffer size: 1024, default order: 1, min order: 0
[ 7962.841287]   node 0: slabs: 606, objs: 4544, free: 0

and then the normal:
[ 7963.102476] swapper: page allocation failure. order:0, mode:0x4020
[ 7963.105743] Pid: 0, comm: swapper Not tainted 2.6.32-bpo.2-amd64 #1
[ 7963.106418] Call Trace:
[ 7963.106418]  <IRQ>  [<ffffffff810b947d>] ? __alloc_pages_nodemask+0x55b/0x5ce
etc. 

As requested here is a normal state /proc/meminfo and /proc/slabinfo. See below for
the broken state

root@wagtail:~# cat /proc/meminfo 
MemTotal:         251280 kB
MemFree:           70280 kB
Buffers:            2292 kB
Cached:            87936 kB
SwapCached:        11324 kB
Active:           103808 kB
Inactive:          44656 kB
Active(anon):      37576 kB
Inactive(anon):    20680 kB
Active(file):      66232 kB
Inactive(file):    23976 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2093048 kB
SwapFree:        2077516 kB
Dirty:                12 kB
Writeback:             0 kB
AnonPages:         50536 kB
Mapped:             7244 kB
Shmem:                20 kB
Slab:              21112 kB
SReclaimable:       5432 kB
SUnreclaim:        15680 kB
KernelStack:         408 kB
PageTables:         1060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2218688 kB
Committed_AS:      56024 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        3876 kB
VmallocChunk:   34359726560 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8172 kB
DirectMap2M:      253952 kB
root@wagtail:~# 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>
ext3_inode_cache    1750   1750    792   10    2 : tunables    0    0    0 : slabdata    175    175      0
ext3_xattr             0      0     88   46    1 : tunables    0    0    0 : slabdata      0      0      0
journal_handle       170    170     24  170    1 : tunables    0    0    0 : slabdata      1      1      0
journal_head          36     36    112   36    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_table         256    256     16  256    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_record        128    128     32  128    1 : tunables    0    0    0 : slabdata      1      1      0
dm_raid1_read_record      0      0   1064   15    4 : tunables    0    0    0 : slabdata      0      0      0
kcopyd_job             0      0    368   11    1 : tunables    0    0    0 : slabdata      0      0      0
dm_uevent              0      0   2608   12    8 : tunables    0    0    0 : slabdata      0      0      0
dm_rq_target_io        0      0    376   21    2 : tunables    0    0    0 : slabdata      0      0      0
dm_io                614    714     40  102    1 : tunables    0    0    0 : slabdata      7      7      0
ip6_dst_cache         19     24    320   12    1 : tunables    0    0    0 : slabdata      2      2      0
UDPLITEv6              0      0    960    8    2 : tunables    0    0    0 : slabdata      0      0      0
UDPv6                  8      8    960    8    2 : tunables    0    0    0 : slabdata      1      1      0
tw_sock_TCPv6         12     12    320   12    1 : tunables    0    0    0 : slabdata      1      1      0
TCPv6                  9      9   1792    9    4 : tunables    0    0    0 : slabdata      1      1      0
cfq_queue             36     48    168   24    1 : tunables    0    0    0 : slabdata      2      2      0
bsg_cmd                0      0    312   13    1 : tunables    0    0    0 : slabdata      0      0      0
mqueue_inode_cache      9      9    896    9    2 : tunables    0    0    0 : slabdata      1      1      0
hugetlbfs_inode_cache     13     13    608   13    2 : tunables    0    0    0 : slabdata      1      1      0
dquot                  0      0    256   16    1 : tunables    0    0    0 : slabdata      0      0      0
ksm_mm_slot            0      0     56   73    1 : tunables    0    0    0 : slabdata      0      0      0
UDP-Lite               0      0    832   19    4 : tunables    0    0    0 : slabdata      0      0      0
RAW                   18     20    768   10    2 : tunables    0    0    0 : slabdata      2      2      0
UDP                   19     19    832   19    4 : tunables    0    0    0 : slabdata      1      1      0
tw_sock_TCP          716    752    256   16    1 : tunables    0    0    0 : slabdata     47     47      0
TCP                 1281   1539   1664   19    8 : tunables    0    0    0 : slabdata     81     81      0
blkdev_queue          14     14   2256   14    8 : tunables    0    0    0 : slabdata      1      1      0
blkdev_requests       32     36    336   12    1 : tunables    0    0    0 : slabdata      3      3      0
fsnotify_event        39     39    104   39    1 : tunables    0    0    0 : slabdata      1      1      0
bip-256               35     35   4224    7    8 : tunables    0    0    0 : slabdata      5      5      0
bip-128                0      0   2176   15    8 : tunables    0    0    0 : slabdata      0      0      0
bip-64                 0      0   1152   14    4 : tunables    0    0    0 : slabdata      0      0      0
bip-16              8380   8380    384   10    1 : tunables    0    0    0 : slabdata    838    838      0
sock_inode_cache    1295   1540    704   11    2 : tunables    0    0    0 : slabdata    140    140      0
file_lock_cache       22     22    184   22    1 : tunables    0    0    0 : slabdata      1      1      0
net_namespace          0      0   2112   15    8 : tunables    0    0    0 : slabdata      0      0      0
shmem_inode_cache   1030   1030    800   10    2 : tunables    0    0    0 : slabdata    103    103      0
Acpi-ParseExt       2192   2464     72   56    1 : tunables    0    0    0 : slabdata     44     44      0
task_delay_info       74    108    112   36    1 : tunables    0    0    0 : slabdata      3      3      0
taskstats             12     12    328   12    1 : tunables    0    0    0 : slabdata      1      1      0
proc_inode_cache     213    228    640   12    2 : tunables    0    0    0 : slabdata     19     19      0
sigqueue              25     25    160   25    1 : tunables    0    0    0 : slabdata      1      1      0
radix_tree_node     1179   1260    560   14    2 : tunables    0    0    0 : slabdata     90     90      0
bdev_cache            19     19    832   19    4 : tunables    0    0    0 : slabdata      1      1      0
sysfs_dir_cache     6571   6579     80   51    1 : tunables    0    0    0 : slabdata    129    129      0
inode_cache          569    637    592   13    2 : tunables    0    0    0 : slabdata     49     49      0
dentry              5668   5880    192   21    1 : tunables    0    0    0 : slabdata    280    280      0
buffer_head         4464   4464    112   36    1 : tunables    0    0    0 : slabdata    124    124      0
vm_area_struct       647    713    176   23    1 : tunables    0    0    0 : slabdata     31     31      0
mm_struct             19     27    896    9    2 : tunables    0    0    0 : slabdata      3      3      0
files_cache           21     33    704   11    2 : tunables    0    0    0 : slabdata      3      3      0
signal_cache          58     72    960    8    2 : tunables    0    0    0 : slabdata      9      9      0
sighand_cache         59     90   2112   15    8 : tunables    0    0    0 : slabdata      6      6      0
task_struct           55     72   1808    9    4 : tunables    0    0    0 : slabdata      8      8      0
anon_vma             334    512     32  128    1 : tunables    0    0    0 : slabdata      4      4      0
shared_policy_node     85     85     48   85    1 : tunables    0    0    0 : slabdata      1      1      0
numa_policy          682    850     24  170    1 : tunables    0    0    0 : slabdata      5      5      0
idr_layer_cache      135    135    544   15    2 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-8192           8      8   8192    4    8 : tunables    0    0    0 : slabdata      2      2      0
kmalloc-4096         318    400   4096    8    8 : tunables    0    0    0 : slabdata     50     50      0
kmalloc-2048         163    176   2048    8    4 : tunables    0    0    0 : slabdata     22     22      0
kmalloc-1024        1989   2624   1024    8    2 : tunables    0    0    0 : slabdata    328    328      0
kmalloc-512          705    856    512    8    1 : tunables    0    0    0 : slabdata    107    107      0
kmalloc-256         1713   2416    256   16    1 : tunables    0    0    0 : slabdata    151    151      0
kmalloc-128         1721   1984    128   32    1 : tunables    0    0    0 : slabdata     62     62      0
kmalloc-64          7182   7232     64   64    1 : tunables    0    0    0 : slabdata    113    113      0
kmalloc-32          1000   1024     32  128    1 : tunables    0    0    0 : slabdata      8      8      0
kmalloc-16          2285   2304     16  256    1 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-8           3071   3072      8  512    1 : tunables    0    0    0 : slabdata      6      6      0
kmalloc-192         2182   2457    192   21    1 : tunables    0    0    0 : slabdata    117    117      0
kmalloc-96           389    420     96   42    1 : tunables    0    0    0 : slabdata     10     10      0
kmem_cache_node        0      0     64   64    1 : tunables    0    0    0 : slabdata      0      0      0
root@wagtail:~# 

And then after it crashed:

root@wagtail:~# cat /proc/meminfo 
MemTotal:         251280 kB
MemFree:          136044 kB
Buffers:            1100 kB
Cached:            51356 kB
SwapCached:         7852 kB
Active:            38116 kB
Inactive:          62716 kB
Active(anon):       4384 kB
Inactive(anon):    44008 kB
Active(file):      33732 kB
Inactive(file):    18708 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2093048 kB
SwapFree:        2058372 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:         42760 kB
Mapped:             3588 kB
Shmem:                16 kB
Slab:               8108 kB
SReclaimable:       2688 kB
SUnreclaim:         5420 kB
KernelStack:         408 kB
PageTables:         1088 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2218688 kB
Committed_AS:      56028 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        3892 kB
VmallocChunk:   34359726376 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8172 kB
DirectMap2M:      253952 kB

root@wagtail:~# 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>
ext3_inode_cache     454    760    792   10    2 : tunables    0    0    0 : slabdata     76     76      0
ext3_xattr             0      0     88   46    1 : tunables    0    0    0 : slabdata      0      0      0
journal_handle       170    170     24  170    1 : tunables    0    0    0 : slabdata      1      1      0
journal_head          36     36    112   36    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_table         256    256     16  256    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_record        128    128     32  128    1 : tunables    0    0    0 : slabdata      1      1      0
dm_raid1_read_record      0      0   1064   15    4 : tunables    0    0    0 : slabdata      0      0      0
kcopyd_job             0      0    368   11    1 : tunables    0    0    0 : slabdata      0      0      0
dm_uevent              0      0   2608   12    8 : tunables    0    0    0 : slabdata      0      0      0
dm_rq_target_io        0      0    376   21    2 : tunables    0    0    0 : slabdata      0      0      0
dm_io                598    714     40  102    1 : tunables    0    0    0 : slabdata      7      7      0
ip6_dst_cache         19     24    320   12    1 : tunables    0    0    0 : slabdata      2      2      0
UDPLITEv6              0      0    960    8    2 : tunables    0    0    0 : slabdata      0      0      0
UDPv6                  8      8    960    8    2 : tunables    0    0    0 : slabdata      1      1      0
tw_sock_TCPv6         12     12    320   12    1 : tunables    0    0    0 : slabdata      1      1      0
TCPv6                  9      9   1792    9    4 : tunables    0    0    0 : slabdata      1      1      0
cfq_queue             43     48    168   24    1 : tunables    0    0    0 : slabdata      2      2      0
bsg_cmd                0      0    312   13    1 : tunables    0    0    0 : slabdata      0      0      0
mqueue_inode_cache      9      9    896    9    2 : tunables    0    0    0 : slabdata      1      1      0
hugetlbfs_inode_cache     13     13    608   13    2 : tunables    0    0    0 : slabdata      1      1      0
dquot                  0      0    256   16    1 : tunables    0    0    0 : slabdata      0      0      0
ksm_mm_slot            0      0     56   73    1 : tunables    0    0    0 : slabdata      0      0      0
UDP-Lite               0      0    832   19    4 : tunables    0    0    0 : slabdata      0      0      0
RAW                   18     20    768   10    2 : tunables    0    0    0 : slabdata      2      2      0
UDP                   19     19    832   19    4 : tunables    0    0    0 : slabdata      1      1      0
tw_sock_TCP           16     16    256   16    1 : tunables    0    0    0 : slabdata      1      1      0
TCP                   26     38   1664   19    8 : tunables    0    0    0 : slabdata      2      2      0
blkdev_queue          14     14   2256   14    8 : tunables    0    0    0 : slabdata      1      1      0
blkdev_requests       32     36    336   12    1 : tunables    0    0    0 : slabdata      3      3      0
fsnotify_event        39     39    104   39    1 : tunables    0    0    0 : slabdata      1      1      0
bip-256               35     35   4224    7    8 : tunables    0    0    0 : slabdata      5      5      0
bip-128                0      0   2176   15    8 : tunables    0    0    0 : slabdata      0      0      0
bip-64                 0      0   1152   14    4 : tunables    0    0    0 : slabdata      0      0      0
bip-16               167    430    384   10    1 : tunables    0    0    0 : slabdata     43     43      0
sock_inode_cache      53     66    704   11    2 : tunables    0    0    0 : slabdata      6      6      0
file_lock_cache       22     22    184   22    1 : tunables    0    0    0 : slabdata      1      1      0
net_namespace          0      0   2112   15    8 : tunables    0    0    0 : slabdata      0      0      0
shmem_inode_cache   1030   1030    800   10    2 : tunables    0    0    0 : slabdata    103    103      0
Acpi-ParseExt       1003   1008     72   56    1 : tunables    0    0    0 : slabdata     18     18      0
task_delay_info       74    108    112   36    1 : tunables    0    0    0 : slabdata      3      3      0
taskstats             12     12    328   12    1 : tunables    0    0    0 : slabdata      1      1      0
proc_inode_cache      72     72    640   12    2 : tunables    0    0    0 : slabdata      6      6      0
sigqueue              25     25    160   25    1 : tunables    0    0    0 : slabdata      1      1      0
radix_tree_node     1131   1148    560   14    2 : tunables    0    0    0 : slabdata     82     82      0
bdev_cache            19     19    832   19    4 : tunables    0    0    0 : slabdata      1      1      0
sysfs_dir_cache     6571   6579     80   51    1 : tunables    0    0    0 : slabdata    129    129      0
inode_cache          573    650    592   13    2 : tunables    0    0    0 : slabdata     50     50      0
dentry              2912   4431    192   21    1 : tunables    0    0    0 : slabdata    211    211      0
buffer_head          468    468    112   36    1 : tunables    0    0    0 : slabdata     13     13      0
vm_area_struct       655    713    176   23    1 : tunables    0    0    0 : slabdata     31     31      0
mm_struct             20     36    896    9    2 : tunables    0    0    0 : slabdata      4      4      0
files_cache           21     33    704   11    2 : tunables    0    0    0 : slabdata      3      3      0
signal_cache          56     72    960    8    2 : tunables    0    0    0 : slabdata      9      9      0
sighand_cache         62     90   2112   15    8 : tunables    0    0    0 : slabdata      6      6      0
task_struct           55     72   1808    9    4 : tunables    0    0    0 : slabdata      8      8      0
anon_vma             334    512     32  128    1 : tunables    0    0    0 : slabdata      4      4      0
shared_policy_node     85     85     48   85    1 : tunables    0    0    0 : slabdata      1      1      0
numa_policy          682    850     24  170    1 : tunables    0    0    0 : slabdata      5      5      0
idr_layer_cache      135    135    544   15    2 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-8192           8      8   8192    4    8 : tunables    0    0    0 : slabdata      2      2      0
kmalloc-4096          86    104   4096    8    8 : tunables    0    0    0 : slabdata     13     13      0
kmalloc-2048         141    152   2048    8    4 : tunables    0    0    0 : slabdata     19     19      0
kmalloc-1024         452    804   1024    8    2 : tunables    0    0    0 : slabdata    128    128      0
kmalloc-512          276    288    512    8    1 : tunables    0    0    0 : slabdata     36     36      0
kmalloc-256          348   1104    256   16    1 : tunables    0    0    0 : slabdata     69     69      0
kmalloc-128          517   1152    128   32    1 : tunables    0    0    0 : slabdata     36     36      0
kmalloc-64          2424   3520     64   64    1 : tunables    0    0    0 : slabdata     55     55      0
kmalloc-32           999   1024     32  128    1 : tunables    0    0    0 : slabdata      8      8      0
kmalloc-16          2285   2304     16  256    1 : tunables    0    0    0 : slabdata      9      9      0
kmalloc-8           3071   3072      8  512    1 : tunables    0    0    0 : slabdata      6      6      0
kmalloc-192          948   1197    192   21    1 : tunables    0    0    0 : slabdata     57     57      0
kmalloc-96           334    420     96   42    1 : tunables    0    0    0 : slabdata     10     10      0
kmem_cache_node        0      0     64   64    1 : tunables    0    0    0 : slabdata      0      0      0


micah

Attachment: pgpT1rJ3tMBFn.pgp
Description: PGP signature


Reply to: