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

Amadeus W.M. amadeus84 at verizon.net
Thu May 22 04:59:54 UTC 2008


On Tue, 20 May 2008 09:15:18 -0700, Gordon Messmer wrote:

> 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.
> 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
> 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


Mine looks ok:


more /proc/meminfo 
MemTotal:      1537948 kB
MemFree:        290780 kB
Buffers:         67920 kB
Cached:         689064 kB
SwapCached:          4 kB
Active:         560348 kB
Inactive:       478792 kB
HighTotal:      638140 kB
HighFree:        40424 kB
LowTotal:       899808 kB
LowFree:        250356 kB
SwapTotal:     3068372 kB
SwapFree:      3068220 kB
Dirty:              52 kB
Writeback:           0 kB
AnonPages:      276684 kB
Mapped:          70920 kB
Slab:            82964 kB
SReclaimable:    53528 kB
SUnreclaim:      29436 kB
PageTables:       4692 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   3837344 kB
Committed_AS:  1029028 kB
VmallocTotal:   110584 kB
VmallocUsed:      8700 kB
VmallocChunk:    95044 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     4096 kB









More information about the fedora-list mailing list