<div dir="ltr">google vdsm memory leak..it&#39;s been discussed on list last year and earlier this one...<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 24, 2015 at 10:14 AM, Oleksandr Natalenko <span dir="ltr">&lt;<a href="mailto:oleksandr@natalenko.name" target="_blank">oleksandr@natalenko.name</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In our GlusterFS deployment we&#39;ve encountered something like memory leak in GlusterFS FUSE client.<br>
<br>
We use replicated (×2) GlusterFS volume to store mail (exim+dovecot, maildir format). Here is inode stats for both bricks and mountpoint:<br>
<br>
===<br>
Brick 1 (Server 1):<br>
<br>
Filesystem  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Inodes  Â  IUsed  Â  Â  IFree IUse% Mounted on<br>
/dev/mapper/vg_vd1_misc-lv08_mail  Â  Â  Â  Â  Â  Â  Â  Â  Â 578768144 10954918  567813226  Â  2% /bricks/r6sdLV08_vd1_mail<br>
<br>
Brick 2 (Server 2):<br>
<br>
Filesystem  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â Inodes  Â  IUsed  Â  Â  IFree IUse% Mounted on<br>
/dev/mapper/vg_vd0_misc-lv07_mail  Â  Â  Â  Â  Â  Â  Â  Â  Â 578767984 10954913  567813071  Â  2% /bricks/r6sdLV07_vd0_mail<br>
<br>
Mountpoint (Server 3):<br>
<br>
Filesystem  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Inodes  Â  IUsed  Â  Â  IFree IUse% Mounted on<br>
glusterfs.xxx:mail  Â  Â  Â  Â  Â  Â  Â  Â  Â 578767760 10954915  567812845  Â  2% /var/spool/mail/virtual<br>
===<br>
<br>
glusterfs.xxx domain has two A records for both Server 1 and Server 2.<br>
<br>
Here is volume info:<br>
<br>
===<br>
Volume Name: mail<br>
Type: Replicate<br>
Volume ID: f564e85c-7aa6-4170-9417-1f501aa98cd2<br>
Status: Started<br>
Number of Bricks: 1 x 2 = 2<br>
Transport-type: tcp<br>
Bricks:<br>
Brick1: server1.xxx:/bricks/r6sdLV08_vd1_mail/mail<br>
Brick2: server2.xxx:/bricks/r6sdLV07_vd0_mail/mail<br>
Options Reconfigured:<br>
nfs.rpc-auth-allow: <a href="http://1.2.4.0/24,4.5.6.0/24" rel="noreferrer" target="_blank">1.2.4.0/24,4.5.6.0/24</a><br>
features.cache-invalidation-timeout: 10<br>
performance.stat-prefetch: off<br>
performance.quick-read: on<br>
performance.read-ahead: off<br>
performance.flush-behind: on<br>
performance.write-behind: on<br>
performance.io-thread-count: 4<br>
performance.cache-max-file-size: 1048576<br>
performance.cache-size: 67108864<br>
performance.readdir-ahead: off<br>
===<br>
<br>
Soon enough after mounting and exim/dovecot start, glusterfs client process begins to consume huge amount of RAM:<br>
<br>
===<br>
user@server3 ~$ ps aux | grep glusterfs | grep mail<br>
root  Â  Â 28895 14.4 15.0 15510324 14908868 ?  Â Ssl  Sep03 4310:05 /usr/sbin/glusterfs --fopen-keep-cache --direct-io-mode=disable --volfile-server=glusterfs.xxx --volfile-id=mail /var/spool/mail/virtual<br>
===<br>
<br>
That is, ~15 GiB of RAM.<br>
<br>
Also we&#39;ve tried to use mountpoint withing separate KVM VM with 2 or 3 GiB of RAM, and soon after starting mail daemons got OOM killer for glusterfs client process.<br>
<br>
Mounting same share via NFS works just fine. Also, we have much less iowait and loadavg on client side with NFS.<br>
<br>
Also, we&#39;ve tried to change IO threads count and cache size in order to limit memory usage with no luck. As you can see, total cache size is 4×64==256 MiB (compare to 15 GiB).<br>
<br>
Enabling-disabling stat-prefetch, read-ahead and readdir-ahead didn&#39;t help as well.<br>
<br>
Here are volume memory stats:<br>
<br>
===<br>
Memory status for volume : mail<br>
----------------------------------------------<br>
Brick : server1.xxx:/bricks/r6sdLV08_vd1_mail/mail<br>
Mallinfo<br>
--------<br>
Arena  Â  : 36859904<br>
Ordblks  : 10357<br>
Smblks  Â : 519<br>
Hblks  Â  : 21<br>
Hblkhd  Â : 30515200<br>
Usmblks  : 0<br>
Fsmblks  : 53440<br>
Uordblks : 18604144<br>
Fordblks : 18255760<br>
Keepcost : 114112<br>
<br>
Mempool Stats<br>
-------------<br>
Name  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  HotCount ColdCount PaddedSizeof AllocCount MaxAlloc  Â Misses Max-StdAlloc<br>
----  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  -------- --------- ------------ ---------- -------- -------- ------------<br>
mail-server:fd_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  1024  Â  Â  Â  Â  108  Â 30773120  Â  Â  137  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-server:dentry_t  Â  Â  Â  Â  Â  Â  Â 16110  Â  Â  Â 274  Â  Â  Â  Â  Â 84  235676148  Â  16384  1106499  Â  Â  Â  Â 1152<br>
mail-server:inode_t  Â  Â  Â  Â  Â  Â  Â  16363  Â  Â  Â  21  Â  Â  Â  Â  156  237216876  Â  16384  1876651  Â  Â  Â  Â 1169<br>
mail-trash:fd_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  1024  Â  Â  Â  Â  108  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:dentry_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â 32768  Â  Â  Â  Â  Â 84  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:inode_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 4  Â  Â 32764  Â  Â  Â  Â  156  Â  Â  Â  Â  4  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:trash_local_t  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â 8628  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changetimerecorder:gf_ctr_local_t  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  16540  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changelog:rpcsvc_request_t  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â 2828  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changelog:changelog_local_t  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â  116  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-bitrot-stub:br_stub_local_t  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â  Â 84  Â  Â  79204  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-locks:pl_local_t  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  Â  32  Â  Â  Â  Â  148  Â  6812757  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-upcall:upcall_local_t  Â  Â  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â  108  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-marker:marker_local_t  Â  Â  Â  Â  Â  Â 0  Â  Â  Â 128  Â  Â  Â  Â  332  Â  Â  64980  Â  Â  Â  3  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-quota:quota_local_t  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â  476  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-server:rpcsvc_request_t  Â  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â 2828  Â 45462533  Â  Â  Â 34  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:struct saved_frame  Â  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â  124  Â  Â  Â  Â  2  Â  Â  Â  2  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:struct rpc_req  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â  588  Â  Â  Â  Â  2  Â  Â  Â  2  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:rpcsvc_request_t  Â  Â  Â  Â  Â  Â 1  Â  Â  Â  Â 7  Â  Â  Â  Â 2828  Â  Â  Â  Â  2  Â  Â  Â  1  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:log_buf_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  5  Â  Â  Â 251  Â  Â  Â  Â  140  Â  Â  Â 3452  Â  Â  Â  6  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:data_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 242  Â  Â 16141  Â  Â  Â  Â  Â 52  480115498  Â  Â  664  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:data_pair_t  Â  Â  Â  Â  Â  Â  Â  230  Â  Â 16153  Â  Â  Â  Â  Â 68  179483528  Â  Â  275  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:dict_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  23  Â  Â  4073  Â  Â  Â  Â  140  303751675  Â  Â  627  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_stub_t  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  1024  Â  Â  Â  Â 3764  Â 45290655  Â  Â  Â 34  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_stack_t  Â  Â  Â  Â  Â  Â  Â  Â 1  Â  Â  1023  Â  Â  Â  Â 1708  Â 43598469  Â  Â  Â 34  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_frame_t  Â  Â  Â  Â  Â  Â  Â  Â 1  Â  Â  4095  Â  Â  Â  Â  172  336219655  Â  Â  184  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
----------------------------------------------<br>
Brick : server2.xxx:/bricks/r6sdLV07_vd0_mail/mail<br>
Mallinfo<br>
--------<br>
Arena  Â  : 38174720<br>
Ordblks  : 9041<br>
Smblks  Â : 507<br>
Hblks  Â  : 21<br>
Hblkhd  Â : 30515200<br>
Usmblks  : 0<br>
Fsmblks  : 51712<br>
Uordblks : 19415008<br>
Fordblks : 18759712<br>
Keepcost : 114848<br>
<br>
Mempool Stats<br>
-------------<br>
Name  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  HotCount ColdCount PaddedSizeof AllocCount MaxAlloc  Â Misses Max-StdAlloc<br>
----  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  -------- --------- ------------ ---------- -------- -------- ------------<br>
mail-server:fd_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  1024  Â  Â  Â  Â  108  Â  2373075  Â  Â  133  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-server:dentry_t  Â  Â  Â  Â  Â  Â  Â 14114  Â  Â  2270  Â  Â  Â  Â  Â 84  Â  3513654  Â  16384  Â  Â 2300  Â  Â  Â  Â  267<br>
mail-server:inode_t  Â  Â  Â  Â  Â  Â  Â  16374  Â  Â  Â  10  Â  Â  Â  Â  156  Â  6766642  Â  16384  Â 194635  Â  Â  Â  Â 1279<br>
mail-trash:fd_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  1024  Â  Â  Â  Â  108  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:dentry_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â 32768  Â  Â  Â  Â  Â 84  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:inode_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 4  Â  Â 32764  Â  Â  Â  Â  156  Â  Â  Â  Â  4  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-trash:trash_local_t  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â 8628  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changetimerecorder:gf_ctr_local_t  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  16540  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changelog:rpcsvc_request_t  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â 2828  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-changelog:changelog_local_t  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â  116  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-bitrot-stub:br_stub_local_t  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â  Â 84  Â  Â  71354  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-locks:pl_local_t  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  Â  32  Â  Â  Â  Â  148  Â  8135032  Â  Â  Â  4  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-upcall:upcall_local_t  Â  Â  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â  108  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-marker:marker_local_t  Â  Â  Â  Â  Â  Â 0  Â  Â  Â 128  Â  Â  Â  Â  332  Â  Â  65005  Â  Â  Â  3  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-quota:quota_local_t  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  64  Â  Â  Â  Â  476  Â  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
mail-server:rpcsvc_request_t  Â  Â  Â  Â  Â 0  Â  Â  Â 512  Â  Â  Â  Â 2828  Â 12882393  Â  Â  Â 30  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:struct saved_frame  Â  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â  124  Â  Â  Â  Â  2  Â  Â  Â  2  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:struct rpc_req  Â  Â  Â  Â  Â  Â  Â 0  Â  Â  Â  Â 8  Â  Â  Â  Â  588  Â  Â  Â  Â  2  Â  Â  Â  2  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:rpcsvc_request_t  Â  Â  Â  Â  Â  Â 1  Â  Â  Â  Â 7  Â  Â  Â  Â 2828  Â  Â  Â  Â  2  Â  Â  Â  1  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:log_buf_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  5  Â  Â  Â 251  Â  Â  Â  Â  140  Â  Â  Â 3443  Â  Â  Â  6  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:data_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 242  Â  Â 16141  Â  Â  Â  Â  Â 52  138743429  Â  Â  290  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:data_pair_t  Â  Â  Â  Â  Â  Â  Â  230  Â  Â 16153  Â  Â  Â  Â  Â 68  126649864  Â  Â  270  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:dict_t  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  23  Â  Â  4073  Â  Â  Â  Â  140  Â 20356289  Â  Â  Â 63  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_stub_t  Â  Â  Â  Â  Â  Â  Â  Â  0  Â  Â  1024  Â  Â  Â  Â 3764  Â 13678560  Â  Â  Â 31  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_stack_t  Â  Â  Â  Â  Â  Â  Â  Â 1  Â  Â  1023  Â  Â  Â  Â 1708  Â 11011561  Â  Â  Â 30  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
glusterfs:call_frame_t  Â  Â  Â  Â  Â  Â  Â  Â 1  Â  Â  4095  Â  Â  Â  Â  172  125764190  Â  Â  193  Â  Â  Â  0  Â  Â  Â  Â  Â  0<br>
----------------------------------------------<br>
===<br>
<br>
So, my questions are:<br>
<br>
1) what one should do to limit GlusterFS FUSE client memory usage?<br>
2) what one should do to prevent client high loadavg because of high iowait because of multiple concurrent volume users?<br>
<br>
Server/client OS is CentOS 7.1, GlusterFS server version is 3.7.3, GlusterFS client version is 3.7.4.<br>
<br>
Any additional info needed?<br>
_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a></blockquote></div><br></div>