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

前端之家收集整理的这篇文章主要介绍了ZFS ARC缓存和Linux缓冲区缓存争用(Ubuntu 16.04)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的测试系统设置是一个简单的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文件系统上.这个服务器做什么?

猜你在找的Linux相关文章