Memory leak in kernel-2.6.25.3-18.fc9.x86_64

Gordon Messmer yinyang at eburg.com
Tue May 20 16:15:18 UTC 2008


This morning I noticed that firefox had crashed overnight, and the 
desktop was behaving very slow, as if the machine were swapping 
heavily.  I expected to see some bloated process in "top"s output, but 
after sorting the processes by memory, I saw nothing unusual.  
Applications were fairly normal, but there was very little free memory.

Next, I turned to /proc/meminfo, and it looks like the kernel had 
allocated 1.4GB of slab!  According to the slabinfo file, there were 
nearly 7 million dentry slabs "active" (if I'm reading it correctly).  I 
don't really understand the dentry cache, but it seems odd to have 7M 
dentry caches when I have fewer than 500k files and directories total on 
all of the mounted filesystems.

There's nothing odd in the logs except this:

May 20 03:24:44 herald kernel: printk: 37 messages suppressed.

The kernel didn't print any messages in several hours prior to 3:24, and 
nothing afterward until I rebooted the system.  Unfortunately, I didn't 
check "dmesg" before rebooting. :(

Not much was running overnight: I was logged in to Gnome, Thunderbird 
and Firefox were running, and so was Miro.

Before I file a bug report, I was hoping to see if anyone else has seen 
this behaviour, or can shed any light on possible causes other than a 
kernel bug.

Copies of the meminfo and slabinfo files from /proc, taken before 
rebooting, are attached.
-------------- next part --------------
MemTotal:      2061404 kB
MemFree:        227456 kB
Buffers:          2752 kB
Cached:          98996 kB
SwapCached:      39640 kB
Active:         288544 kB
Inactive:        41160 kB
SwapTotal:     2064376 kB
SwapFree:      1937560 kB
Dirty:               8 kB
Writeback:           0 kB
AnonPages:      212972 kB
Mapped:          42116 kB
Slab:          1448668 kB
SReclaimable:  1421052 kB
SUnreclaim:      27616 kB
PageTables:      25564 kB
NFS_Unstable:        4 kB
Bounce:              0 kB
CommitLimit:   3095076 kB
Committed_AS:   706336 kB
VmallocTotal: 34359738367 kB
VmallocUsed:     83940 kB
VmallocChunk: 34359654311 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     2048 kB
-------------- next part --------------
slabinfo - version: 2.1
# name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
udf_inode_cache        6      6    640    6    1 : tunables    0    0    0 : slabdata      1      1      0
nfs_direct_cache       0      0    128   32    1 : tunables    0    0    0 : slabdata      0      0      0
nfs_inode_cache      350    372    992    4    1 : tunables    0    0    0 : slabdata     93     93      0
fuse_request          14     14    584    7    1 : tunables    0    0    0 : slabdata      2      2      0
fuse_inode             6      6    640    6    1 : tunables    0    0    0 : slabdata      1      1      0
rpc_inode_cache       18     18    832    9    2 : tunables    0    0    0 : slabdata      2      2      0
nf_conntrack_expect      0      0    240   17    1 : tunables    0    0    0 : slabdata      0      0      0
UDPv6                 12     12    960    4    1 : tunables    0    0    0 : slabdata      3      3      0
TCPv6                  8      8   1792    4    2 : tunables    0    0    0 : slabdata      2      2      0
kmalloc_dma-512        8      8    512    8    1 : tunables    0    0    0 : slabdata      1      1      0
dm_uevent              0      0   2608    3    2 : tunables    0    0    0 : slabdata      0      0      0
scsi_io_context      144    144    112   36    1 : tunables    0    0    0 : slabdata      4      4      0
ext3_inode_cache    2414   3830    768    5    1 : tunables    0    0    0 : slabdata    766    766      0
ext3_xattr            92     92     88   46    1 : tunables    0    0    0 : slabdata      2      2      0
journal_handle       340    340     24  170    1 : tunables    0    0    0 : slabdata      2      2      0
journal_head          85    126     96   42    1 : tunables    0    0    0 : slabdata      3      3      0
revoke_table         256    256     16  256    1 : tunables    0    0    0 : slabdata      1      1      0
revoke_record        256    256     32  128    1 : tunables    0    0    0 : slabdata      2      2      0
UNIX                 538    561    704   11    2 : tunables    0    0    0 : slabdata     51     51      0
cfq_io_context       101    120    168   24    1 : tunables    0    0    0 : slabdata      5      5      0
cfq_queue            107    120    136   30    1 : tunables    0    0    0 : slabdata      4      4      0
mqueue_inode_cache      4      4    896    4    1 : tunables    0    0    0 : slabdata      1      1      0
isofs_inode_cache      0      0    616    6    1 : tunables    0    0    0 : slabdata      0      0      0
hugetlbfs_inode_cache      7      7    584    7    1 : tunables    0    0    0 : slabdata      1      1      0
dquot                  0      0    256   16    1 : tunables    0    0    0 : slabdata      0      0      0
shmem_inode_cache    939    950    792    5    1 : tunables    0    0    0 : slabdata    190    190      0
pid_namespace          0      0   2104    3    2 : tunables    0    0    0 : slabdata      0      0      0
nsproxy                0      0     56   73    1 : tunables    0    0    0 : slabdata      0      0      0
xfrm_dst_cache        28     30    384   10    1 : tunables    0    0    0 : slabdata      3      3      0
ip_dst_cache         132    552    320   12    1 : tunables    0    0    0 : slabdata     46     46      0
TCP                   19     24   1664    4    2 : tunables    0    0    0 : slabdata      6      6      0
blkdev_queue          32     32   1752    4    2 : tunables    0    0    0 : slabdata      8      8      0
blkdev_requests       30     39    296   13    1 : tunables    0    0    0 : slabdata      3      3      0
biovec-128            52     56   2048    4    2 : tunables    0    0    0 : slabdata     14     14      0
sock_inode_cache     594    649    704   11    2 : tunables    0    0    0 : slabdata     59     59      0
file_lock_cache       42     42    192   21    1 : tunables    0    0    0 : slabdata      2      2      0
Acpi-Parse           714    714     40  102    1 : tunables    0    0    0 : slabdata      7      7      0
taskstats             26     26    312   13    1 : tunables    0    0    0 : slabdata      2      2      0
proc_inode_cache     767    786    600    6    1 : tunables    0    0    0 : slabdata    131    131      0
sigqueue              50     50    160   25    1 : tunables    0    0    0 : slabdata      2      2      0
radix_tree_node     3353   4515    560    7    1 : tunables    0    0    0 : slabdata    645    645      0
bdev_cache            30     30    768    5    1 : tunables    0    0    0 : slabdata      6      6      0
sysfs_dir_cache     9129   9129     80   51    1 : tunables    0    0    0 : slabdata    179    179      0
inode_cache         1614   1645    568    7    1 : tunables    0    0    0 : slabdata    235    235      0
dentry            6722227 6722295    208   19    1 : tunables    0    0    0 : slabdata 353805 353805      0
names_cache           40     40   4096    2    2 : tunables    0    0    0 : slabdata     20     20      0
selinux_inode_security   7505  19152     72   56    1 : tunables    0    0    0 : slabdata    342    342      0
idr_layer_cache      509    525    536    7    1 : tunables    0    0    0 : slabdata     75     75      0
buffer_head         1495   3384    112   36    1 : tunables    0    0    0 : slabdata     94     94      0
mm_struct            105    126    832    9    2 : tunables    0    0    0 : slabdata     14     14      0
vm_area_struct     11692  12627    176   23    1 : tunables    0    0    0 : slabdata    549    549      0
files_cache          166    180    768    5    1 : tunables    0    0    0 : slabdata     36     36      0
signal_cache         141    152    896    4    1 : tunables    0    0    0 : slabdata     38     38      0
sighand_cache        139    147   2112    3    2 : tunables    0    0    0 : slabdata     49     49      0
task_struct          224    224   6272    1    2 : tunables    0    0    0 : slabdata    224    224      0
anon_vma            4095   4992     32  128    1 : tunables    0    0    0 : slabdata     39     39      0
shared_policy_node      0      0     48   85    1 : tunables    0    0    0 : slabdata      0      0      0
numa_policy       295708 295970     24  170    1 : tunables    0    0    0 : slabdata   1741   1741      0
kmalloc-4096          99    104   4096    8    8 : tunables    0    0    0 : slabdata     13     13      0
kmalloc-2048        1103   1152   2048   16    8 : tunables    0    0    0 : slabdata     72     72      0
kmalloc-1024         599    624   1024    4    1 : tunables    0    0    0 : slabdata    156    156      0
kmalloc-512          245    264    512    8    1 : tunables    0    0    0 : slabdata     33     33      0
kmalloc-256          913    976    256   16    1 : tunables    0    0    0 : slabdata     61     61      0
kmalloc-128          748    960    128   32    1 : tunables    0    0    0 : slabdata     30     30      0
kmalloc-64          4954   7168     64   64    1 : tunables    0    0    0 : slabdata    112    112      0
kmalloc-32         25988  27392     32  128    1 : tunables    0    0    0 : slabdata    214    214      0
kmalloc-16        126907 127744     16  256    1 : tunables    0    0    0 : slabdata    499    499      0
kmalloc-8           9179   9216      8  512    1 : tunables    0    0    0 : slabdata     18     18      0
kmalloc-192         5706   6909    192   21    1 : tunables    0    0    0 : slabdata    329    329      0
kmalloc-96          2979   3360     96   42    1 : tunables    0    0    0 : slabdata     80     80      0
kmem_cache_node        0      0     56   73    1 : tunables    0    0    0 : slabdata      0      0      0


More information about the fedora-list mailing list