<div dir="auto"><div>Hi Yuhao,</div><div dir="auto"><br></div><div dir="auto">sorry for the late answer. I&#39;ve had holidays and just returned. <br><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Wed, 8 Aug 2018, 07:49 Yuhao Zhang, &lt;<a href="mailto:zzyzxd@gmail.com">zzyzxd@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Hi Xavi,<div><br></div><div>Thank you for the suggestions, these are extremely helpful. I haven&#39;t thought it could be ZFS problem. I went back and checked a longer monitoring window and now I can see a pattern. Please see this attached Grafana screenshot (also available here: <a href="https://cl.ly/070J2y3n1u0F" target="_blank" rel="noreferrer">https://cl.ly/070J2y3n1u0F</a> . Note that the data gaps were when I took down the server for rebooting):</div><div><br></div><div><img id="m_7243594476962546097E2C98C60-010D-41C6-A758-54A51DE54118" width="1249" height="586" src="cid:B5E7D357-9D6B-4E75-B715-830927DE979F@akunacapital.local"><br><div><br></div><div>Between 8/4 - 8/6, I tried two transfer tests, and experienced 2 the gluster hanging problems. One during the first transfer, and another one happened shortly after the second transfer. I blocked both in pink lines. </div><div><br></div><div>Looks like during my transfer tests, free memory was almost exhausted. The system has a very high cached memory, which I think was due to ZFS ARC. However, I am under the impression that ZFS will release space from ARC if it observes low system available memory. I am not sure why it didn&#39;t do that.</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Yes, it should release memory, but for some reason I don&#39;t understand, when there&#39;s high metadata load, it&#39;s not able to release the allocated memory fast enough (or so it seems). I&#39;ve observed high CPU utilization by a ZFS process at this point.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div> </div><div><br></div><div>I did&#39;t tweak related ZFS parameters. zfs_arc_max was set to 0 (default value). According to doc, it is &quot;Max arc size of ARC in bytes. If set to 0 then it will consume 1/2  of  system RAM.&quot; So it appeared that this setting didn&#39;t work.</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">From my experience, with high metadata load this limit is not respected. Using 1/8 of system RAM seemed to keep memory consumption under control, at least for the workloads I used.</div><div dir="auto"><br></div><div dir="auto">In theory, ZFS 0.7.x.y should solve the memory management problems, but I haven&#39;t tested it. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><br></div><div>When the server was under heavy IO, the used memory was instead decreased, which I can&#39;t explain.</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I&#39;ve only seen this problem when accessing large amounts of different files (typical on a copy, rsync or find on a volume with thousands or millions of files and directories). However, high IO on small set of files doesn&#39;t cause any trouble.</div><div dir="auto"><br></div><div dir="auto">It&#39;s related with caching of metadata, so high IO on a small set of files doesn&#39;t require much metadata. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><br></div><div>May I ask if you, or anyone else in this group, has recommendation on ZFS settings for my setup? My server has 64GB physical memory and 150GB SSD space reserved for L2_ARC.The zpool has 6 vdevs and each has 12TB * 10 hard drives on raidz2. Total usable space in the zpool is 482TB.</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">As I said, I would try with 1/8 of system memory for ARC (it will use more than that anyway). A drop cache also helps when memory is getting exhausted. It causes ZFS to release memory faster, though I don&#39;t consider it a good solution.</div><div dir="auto"><br></div><div dir="auto">Also make sure that zfs_txg_timeout is set to 5 or a similar value to avoid long disk access bursts. Other options to consider, depending on the use case, are: zfs_disable_prefetch=1 and zfs_nocacheflush=1.</div><div dir="auto"><br></div><div dir="auto">For better performance with gluster, xattr option on ZFS datasets should be set to &quot;sa&quot;, but this needs to be done on volume creation, before creating files. Otherwise it will only be applied to newer files. To use &quot;sa&quot; safely, version 0.6.5.8 or higher should be used. </div><div dir="auto"><br></div><div dir="auto">Xavi</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><br></div><div>Thank you,</div><div>Yuhao</div><div><br></div><div><blockquote type="cite"><div>On Aug 7, 2018, at 01:36, Xavi Hernandez &lt;<a href="mailto:jahernan@redhat.com" target="_blank" rel="noreferrer">jahernan@redhat.com</a>&gt; wrote:</div><br class="m_7243594476962546097Apple-interchange-newline"><div><div dir="auto"><div>Hi Yuhao, <br><br><div class="gmail_quote"><div dir="ltr">On Mon, 6 Aug 2018, 15:26 Yuhao Zhang, &lt;<a href="mailto:zzyzxd@gmail.com" target="_blank" rel="noreferrer">zzyzxd@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div>Hello,</div><div><br></div>I just experienced another hanging one hour ago and the server was not even under heavy IO.<div><br></div><div>Atin, I attached the process monitoring results and another statedump.</div><div><br></div><div>Xavi, ZFS was fine, during the hanging, I can still write directly to the ZFS volume. My ZFS version: ZFS: Loaded module v0.6.5.6-0ubuntu16, ZFS pool version 5000, ZFS filesystem version 5</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I highly recommend you to upgrade to version 0.6.5.8 at least. It fixes a kernel panic that can happen when used with gluster. However this is not your current problem.</div><div dir="auto"><br></div><div dir="auto">Top statistics show low available memory and high CPU utilization of kswapd process (along with one of the gluster processes). I&#39;ve seen frequent memory management problems with ZFS. Have you configured any ZFS parameters? It&#39;s highly recommendable to tweak some memory limits.</div><div dir="auto"><br></div><div dir="auto">If that were the problem, there&#39;s one thing that should alleviate it (and see if it could be related):</div><div dir="auto"><br></div><div dir="auto">echo 3 &gt;/proc/sys/vm/drop_caches</div><div dir="auto"><br></div><div dir="auto">This should be done on all bricks from time to time. You can wait until the problem appears, but in this case the recovery time can be larger. </div><div dir="auto"><br></div><div dir="auto">I think this should fix the high CPU usage of kswapd. If so, we&#39;ll need to tweak some ZFS parameters.</div><div dir="auto"><br></div><div dir="auto">I&#39;m not sure if the high CPU usage of gluster could be related to this or not.</div><div dir="auto"><br></div><div dir="auto">Xavi</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><div><br></div><div>Thank you,</div><div>Yuhao</div><div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div></div></div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><div></div></div></div></blockquote></div></div></div>
</div></blockquote></div><br></div></div></blockquote></div></div></div>