加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

ZFS ARC缓存和Linux缓冲区缓存争用(Ubuntu 16.04)

发布时间:2020-12-14 02:52:16 所属栏目:Linux 来源:网络整理
导读:我的测试系统设置是一个简单的raidz 5磁盘(每个8 TB)zpool,256 GB RAM.性能开始良好,吞吐量达到650 MB /秒左右.最终,Linux缓冲区缓存填满并开始导致ZFS ARC缓存缩小,直到它达到大约32 MB的大小.一旦发生这种情况,吞吐量将降至约60 MB /秒. 我尝试了一些内核
我的测试系统设置是一个简单的raidz 5磁盘(每个8 TB)zpool,256 GB RAM.性能开始良好,吞吐量达到650 MB /秒左右.最终,Linux缓冲区缓存填满并开始导致ZFS ARC缓存缩小,直到它达到大约32 MB的大小.一旦发生这种情况,吞吐量将降至约60 MB /秒.

我尝试了一些内核调优选项,例如将vm.vfs_cache_pressure设置为200,但没有改变问题.

我目前的解决方法是将/ sys / module / zfs / parameters / zfs_arc_min设置为128 GB,将zfs_arc_max设置为252 GB.由于Linux缓冲区缓存,ARC从未超过128 GB,但整个数据传输的性能仍保持在650 MB /秒的吞吐量水平.

理想情况下,我希望能够一起禁用Linux缓冲区缓存,并让ZFS ARC缓存在0到256 GB的内存之间,剩下的内存可用于应用程序工作负载.如果可以为ZFS ARC缓存提供比Linux缓冲区缓存更高的优先级,那么这也是可接受的答案,因为它会有效地禁用Linux缓冲区缓存.

谢谢,
扎克

编辑1:
我试图解决的问题是Linux缓冲区缓存从内存中驱逐ZFS ARC.我希望应用程序工作负载能够使用所有内存,并且ZFS ARC会相应地缩小.作为解决方法,我必须将ZFS ARC最小大小设置为较大的值,因为如果最小大小设置为0,Linux缓冲区高速缓存将从内存中逐出ARC.

解决方法

设置最小ARC值.这就是必要的.

ARC将根据需要增长/缩小.无论什么吃自助餐缓存都不能在ZFS文件系统上.这个服务器做什么?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读