[Ocfs2-users] OCFS2 has a likely memory leak. Bug 864

Alexei_Roudnev Alexei_Roudnev at exigengroup.com
Tue Mar 27 11:42:38 PDT 2007


OCFSv2 @ SLES9 Sp3 build 283 is relatively stable. I am running your test on
2 hosts now (create files from 2 hosts, and delete them with some delay from
host1 by rm -rf; without any sleep's; let's see how it works).

I'll post results here.

(I have impression, that SLES10 OCFSv2 is not stable at all - many numerous
complains let me think, that it is not tested well, when
they integrated OCFS into SLES10).


----- Original Message ----- 
From: "John Lange" <john.lange at open-it.ca>
To: "ocfs2-users" <ocfs2-users at oss.oracle.com>
Sent: Monday, March 26, 2007 9:06 PM
Subject: [Ocfs2-users] OCFS2 has a likely memory leak. Bug 864


> This is also filed as bug 864:
> http://oss.oracle.com/bugzilla/show_bug.cgi?id=864
>
> After much testing it appears that the version of ocfs2 include with
> SLES 10 (2.6.16.27-0.9-default) has a memory leak.
>
> To prove this I used this simple script to write to an ocfs2 mounted
> file system mounted at "/data".
>
> ------
> #!/bin/bash
>
> dd if=/dev/urandom of=/tmp/file bs=1024 count=75
>
> COUNT2=`cat /tmp/COUNT2`
> COUNT1=0
>
> DIR1=$(printf "%03d" $COUNT2)
> mkdir /data/$DIR1
>
> while [ "$COUNT1" -lt 101 ]
>   do
>     cp -v /tmp/file /data/$DIR1/file.$COUNT1
>   (( COUNT1++ ))
> done
> (( COUNT2++ ))
> echo $COUNT2 > /tmp/COUNT2
>
> ------
>
> I then executed it as follows:
>
> while [ true ] ; \
>  do /root/bin/populateocfs2.sh ; echo 3 > /proc/sys/vm/drop_caches ;
> sleep 2 ; \
>  vmstat |tail -n 1 >> /root/tmp/sysstats.txt ; done
>
> ------
>
> Leave it running for long enough to generate a significant amount of
> data and then graph the "free" column from sysstats.txt.
>
> Memory erodes continuously over time (by about 56bytes at each
> iteration) and is never recovered. Left long enough the machine crashes
> with oom-killer.
>
> For comparison I then ran the exact same script again on an ext3 file
> system and there was no memory loss.
>
> I have now tested this on 5 different machines in several different
> configurations and the only thing in common on the machines when the
> memory loss occurs is ocfs2.
>
> Here is slabinfo take from the conclusion of the ocfs2 test.
>
> slabinfo - version: 2.1
> # name            <active_objs> <num_objs> <objsize> <objperslab>
<pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata
<active_slabs> <num_slabs> <sharedavail>
> ocfs2_lock            16    203     16  203    1 : tunables  120   60    0
: slabdata      1      1      0
> ocfs2_inode_cache    690    744    832    4    1 : tunables   54   27    0
: slabdata    186    186      0
> ocfs2_uptodate       423    452     32  113    1 : tunables  120   60    0
: slabdata      4      4      0
> ocfs2_em_ent         740    944     64   59    1 : tunables  120   60    0
: slabdata     16     16      0
> dlmfs_inode_cache      1      7    544    7    1 : tunables   54   27    0
: slabdata      1      1      0
> dlm_mle_cache          1     13    288   13    1 : tunables   54   27    0
: slabdata      1      1      0
> configfs_dir_cache     15     78     48   78    1 : tunables  120   60
0 : slabdata      1      1      0
> ip_conntrack_expect      0      0     92   42    1 : tunables  120   60
0 : slabdata      0      0      0
> ip_conntrack          17     17    232   17    1 : tunables  120   60    0
: slabdata      1      1      0
> fib6_nodes             5    113     32  113    1 : tunables  120   60    0
: slabdata      1      1      0
> ip6_dst_cache          4     17    224   17    1 : tunables  120   60    0
: slabdata      1      1      0
> ndisc_cache            1     24    160   24    1 : tunables  120   60    0
: slabdata      1      1      0
> RAWv6                  4      6    608    6    1 : tunables   54   27    0
: slabdata      1      1      0
> UDPv6                  0      0    576    7    1 : tunables   54   27    0
: slabdata      0      0      0
> tw_sock_TCPv6          0      0    128   30    1 : tunables  120   60    0
: slabdata      0      0      0
> request_sock_TCPv6      0      0    128   30    1 : tunables  120   60
0 : slabdata      0      0      0
> TCPv6                  5      6   1184    6    2 : tunables   24   12    0
: slabdata      1      1      0
> ip_fib_alias          11    113     32  113    1 : tunables  120   60    0
: slabdata      1      1      0
> ip_fib_hash           11    113     32  113    1 : tunables  120   60    0
: slabdata      1      1      0
> dm_events             16    169     20  169    1 : tunables  120   60    0
: slabdata      1      1      0
> dm_tio                 0      0     16  203    1 : tunables  120   60    0
: slabdata      0      0      0
> dm_io                  0      0     20  169    1 : tunables  120   60    0
: slabdata      0      0      0
> ext3_inode_cache     760   1728    468    8    1 : tunables   54   27    0
: slabdata    216    216      0
> ext3_xattr             0      0     48   78    1 : tunables  120   60    0
: slabdata      0      0      0
> journal_handle         6    169     20  169    1 : tunables  120   60    0
: slabdata      1      1      0
> journal_head         396    648     52   72    1 : tunables  120   60    0
: slabdata      7      9      0
> revoke_table           6    254     12  254    1 : tunables  120   60    0
: slabdata      1      1      0
> revoke_record         16    203     16  203    1 : tunables  120   60    0
: slabdata      1      1      0
> UNIX                 399    410    384   10    1 : tunables   54   27    0
: slabdata     41     41      0
> ip_mrt_cache           0      0     96   40    1 : tunables  120   60    0
: slabdata      0      0      0
> tcp_bind_bucket        8    203     16  203    1 : tunables  120   60    0
: slabdata      1      1      0
> inet_peer_cache        0      0     64   59    1 : tunables  120   60    0
: slabdata      0      0      0
> secpath_cache          0      0    128   30    1 : tunables  120   60    0
: slabdata      0      0      0
> xfrm_dst_cache         0      0    288   13    1 : tunables   54   27    0
: slabdata      0      0      0
> ip_dst_cache          15     15    256   15    1 : tunables  120   60    0
: slabdata      1      1      0
> arp_cache              2     30    128   30    1 : tunables  120   60    0
: slabdata      1      1      0
> RAW                    2      8    480    8    1 : tunables   54   27    0
: slabdata      1      1      0
> UDP                    9     16    480    8    1 : tunables   54   27    0
: slabdata      2      2      0
> tw_sock_TCP            0      0     96   40    1 : tunables  120   60    0
: slabdata      0      0      0
> request_sock_TCP       0      0     64   59    1 : tunables  120   60    0
: slabdata      0      0      0
> TCP                    8     14   1056    7    2 : tunables   24   12    0
: slabdata      2      2      0
> flow_cache             0      0     96   40    1 : tunables  120   60    0
: slabdata      0      0      0
> cfq_ioc_pool         120    120     96   40    1 : tunables  120   60    0
: slabdata      3      3      0
> cfq_pool              80     80     96   40    1 : tunables  120   60    0
: slabdata      2      2      0
> crq_pool              96    234     48   78    1 : tunables  120   60    0
: slabdata      3      3      0
> deadline_drq           0      0     52   72    1 : tunables  120   60    0
: slabdata      0      0      0
> as_arq                 0      0     64   59    1 : tunables  120   60    0
: slabdata      0      0      0
> mqueue_inode_cache      1      7    512    7    1 : tunables   54   27
0 : slabdata      1      1      0
> isofs_inode_cache      0      0    348   11    1 : tunables   54   27    0
: slabdata      0      0      0
> minix_inode_cache      0      0    384   10    1 : tunables   54   27    0
: slabdata      0      0      0
> hugetlbfs_inode_cache      1     12    320   12    1 : tunables   54   27
0 : slabdata      1      1      0
> ext2_inode_cache       0      0    448    9    1 : tunables   54   27    0
: slabdata      0      0      0
> ext2_xattr             0      0     48   78    1 : tunables  120   60    0
: slabdata      0      0      0
> dnotify_cache          1    169     20  169    1 : tunables  120   60    0
: slabdata      1      1      0
> dquot                  0      0    128   30    1 : tunables  120   60    0
: slabdata      0      0      0
> eventpoll_pwq          1    101     36  101    1 : tunables  120   60    0
: slabdata      1      1      0
> eventpoll_epi          1     40     96   40    1 : tunables  120   60    0
: slabdata      1      1      0
> inotify_event_cache      0      0     28  127    1 : tunables  120   60
0 : slabdata      0      0      0
> inotify_watch_cache     45    101     36  101    1 : tunables  120   60
0 : slabdata      1      1      0
> kioctx                 0      0    160   24    1 : tunables  120   60    0
: slabdata      0      0      0
> kiocb                  0      0    128   30    1 : tunables  120   60    0
: slabdata      0      0      0
> fasync_cache           1    203     16  203    1 : tunables  120   60    0
: slabdata      1      1      0
> shmem_inode_cache    484    486    420    9    1 : tunables   54   27    0
: slabdata     54     54      0
> posix_timers_cache      0      0     96   40    1 : tunables  120   60
0 : slabdata      0      0      0
> uid_cache              5     59     64   59    1 : tunables  120   60    0
: slabdata      1      1      0
> blkdev_ioc           103    127     28  127    1 : tunables  120   60    0
: slabdata      1      1      0
> blkdev_queue          28     28    940    4    1 : tunables   54   27    0
: slabdata      7      7      0
> blkdev_requests      116    176    176   22    1 : tunables  120   60    0
: slabdata      8      8      0
> biovec-(256)         260    260   3072    2    2 : tunables   24   12    0
: slabdata    130    130      0
> biovec-128           264    265   1536    5    2 : tunables   24   12    0
: slabdata     53     53      0
> biovec-64            276    280    768    5    1 : tunables   54   27    0
: slabdata     56     56      0
> biovec-16            280    280    192   20    1 : tunables  120   60    0
: slabdata     14     14      0
> biovec-4             288    295     64   59    1 : tunables  120   60    0
: slabdata      5      5      0
> biovec-1             341   1218     16  203    1 : tunables  120   60    0
: slabdata      6      6      0
> bio                  360    640     96   40    1 : tunables  120   60    0
: slabdata     14     16      0
> sock_inode_cache     439    450    384   10    1 : tunables   54   27    0
: slabdata     45     45      0
> skbuff_fclone_cache     11     11    352   11    1 : tunables   54   27
0 : slabdata      1      1      0
> skbuff_head_cache    120    220    192   20    1 : tunables  120   60    0
: slabdata     11     11      0
> file_lock_cache        4     44     88   44    1 : tunables  120   60    0
: slabdata      1      1      0
> acpi_operand         894    920     40   92    1 : tunables  120   60    0
: slabdata     10     10      0
> acpi_parse_ext         0      0     44   84    1 : tunables  120   60    0
: slabdata      0      0      0
> acpi_parse             0      0     28  127    1 : tunables  120   60    0
: slabdata      0      0      0
> acpi_state             0      0     48   78    1 : tunables  120   60    0
: slabdata      0      0      0
> delayacct_cache        0      0     40   92    1 : tunables  120   60    0
: slabdata      0      0      0
> proc_inode_cache      39    132    336   11    1 : tunables   54   27    0
: slabdata     12     12      0
> sigqueue              27     27    144   27    1 : tunables  120   60    0
: slabdata      1      1      0
> radix_tree_node     1901   3346    276   14    1 : tunables   54   27    0
: slabdata    239    239      0
> bdev_cache            26     27    448    9    1 : tunables   54   27    0
: slabdata      3      3      0
> sysfs_dir_cache     4463   4508     40   92    1 : tunables  120   60    0
: slabdata     49     49      0
> mnt_cache             26     30    128   30    1 : tunables  120   60    0
: slabdata      1      1      0
> inode_cache          999   1332    320   12    1 : tunables   54   27    0
: slabdata    111    111      0
> dentry_cache        2738   8370    128   30    1 : tunables  120   60    0
: slabdata    279    279      0
> filp                2808   2808    160   24    1 : tunables  120   60    0
: slabdata    117    117      0
> names_cache           10     10   4096    1    1 : tunables   24   12    0
: slabdata     10     10      0
> idr_layer_cache      187    203    136   29    1 : tunables  120   60    0
: slabdata      7      7      0
> buffer_head        14304  17280     52   72    1 : tunables  120   60    0
: slabdata    240    240      0
> mm_struct             90     90    416    9    1 : tunables   54   27    0
: slabdata     10     10      0
> vm_area_struct      5032   5148     88   44    1 : tunables  120   60    0
: slabdata    117    117      0
> fs_cache              89    113     32  113    1 : tunables  120   60    0
: slabdata      1      1      0
> files_cache           90     90    448    9    1 : tunables   54   27    0
: slabdata     10     10      0
> signal_cache         121    121    352   11    1 : tunables   54   27    0
: slabdata     11     11      0
> sighand_cache        114    114   1312    3    1 : tunables   24   12    0
: slabdata     38     38      0
> task_struct          141    141   1344    3    1 : tunables   24   12    0
: slabdata     47     47      0
> anon_vma            2430   2712      8  339    1 : tunables  120   60    0
: slabdata      8      8      0
> pgd                   83     83   4096    1    1 : tunables   24   12    0
: slabdata     83     83      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             1      1  65536    1   16 : tunables    8    4    0
: slabdata      1      1      0
> size-32768(DMA)        0      0  32768    1    8 : tunables    8    4    0
: slabdata      0      0      0
> size-32768            16     16  32768    1    8 : tunables    8    4    0
: slabdata     16     16      0
> size-16384(DMA)        0      0  16384    1    4 : tunables    8    4    0
: slabdata      0      0      0
> size-16384             2      2  16384    1    4 : tunables    8    4    0
: slabdata      2      2      0
> size-8192(DMA)         0      0   8192    1    2 : tunables    8    4    0
: slabdata      0      0      0
> size-8192            142    142   8192    1    2 : tunables    8    4    0
: slabdata    142    142      0
> size-4096(DMA)         0      0   4096    1    1 : tunables   24   12    0
: slabdata      0      0      0
> size-4096            114    114   4096    1    1 : tunables   24   12    0
: slabdata    114    114      0
> size-2048(DMA)         0      0   2048    2    1 : tunables   24   12    0
: slabdata      0      0      0
> size-2048            132    132   2048    2    1 : tunables   24   12    0
: slabdata     66     66      0
> size-1024(DMA)         0      0   1024    4    1 : tunables   54   27    0
: slabdata      0      0      0
> size-1024            236    236   1024    4    1 : tunables   54   27    0
: slabdata     59     59      0
> size-512(DMA)          0      0    512    8    1 : tunables   54   27    0
: slabdata      0      0      0
> size-512             384    432    512    8    1 : tunables   54   27    0
: slabdata     54     54      0
> size-256(DMA)          0      0    256   15    1 : tunables  120   60    0
: slabdata      0      0      0
> size-256          127320 127320    256   15    1 : tunables  120   60    0
: slabdata   8488   8488      0
> size-128(DMA)          0      0    128   30    1 : tunables  120   60    0
: slabdata      0      0      0
> size-128            2640   2910    128   30    1 : tunables  120   60    0
: slabdata     97     97      0
> size-64(DMA)           0      0     64   59    1 : tunables  120   60    0
: slabdata      0      0      0
> size-32(DMA)           0      0     32  113    1 : tunables  120   60    0
: slabdata      0      0      0
> size-64              872   1652     64   59    1 : tunables  120   60    0
: slabdata     28     28      0
> size-32           130123 130176     32  113    1 : tunables  120   60    0
: slabdata   1152   1152      0
> kmem_cache           160    160     96   40    1 : tunables  120   60    0
: slabdata      4      4      0
>
>
>
>
> _______________________________________________
> Ocfs2-users mailing list
> Ocfs2-users at oss.oracle.com
> http://oss.oracle.com/mailman/listinfo/ocfs2-users
>




More information about the Ocfs2-users mailing list