限制所提议系统的 ARC 大小

限制所提议系统的 ARC 大小

5 x enterprise 12Gps SSD我有一个用作服务器内部存储的池proxmox。此池用于建立虚拟机和容器。问题是它占用了我大量的可用 RAM 192G!以下是摘要: 在此处输入图片描述

正如您所看到的Max size is 94.4GiB!!!

我的问题是:这个的最佳值应该是多少?以及如何改变它?

这是我的生产服务器,我希望 100% 确定该过程。(我已经查看过这里但是我的服务器也不尊重弧尺寸:()

非常感谢您的帮助或建议!

答案1

您可以通过执行以下操作来持续减小 ARC 大小。

编辑或添加名为

/etc/modprobe.d/zfs.conf

添加一行如下。此示例行适用于 1 GB 内存。因此,将该数字乘以您希望其大小为 GB 的数量。

options zfs zfs_arc_max=1073741824

保存文件后运行命令

更新-initramfs -u -k 全部

然后重新启动以应用更改。

答案2

默认情况下,ARC 最多使用 50% 的系统 RAM。不过,ARC 是动态的:如果系统遇到内存压力增加,它会自动调低。

因此,我建议仅当您遇到一些实际系统问题时,或者在具有非常大 RAM 的系统中,拥有如此多的缓存并没有真正的优势时才限制它。

也就是说,您可以通过可调参数手动(动态)限制 ARC zfs_arc_max。但是,请务必了解,简单地将其降低到当前 ARC 使用量以下将不是立即释放内存。从手册页

zfs_arc_max 可以动态更改,但有一些注意事项。运行时不能将其设置回 0,并且将其减小到当前 ARC 大小以下不会导致 ARC 在没有内存压力导致收缩的情况下收缩。

如果您需要立即释放 ARC 内存,您可以设置上面的可调参数,然后通过手动删除缓存echo 3 > /proc/sys/vm/drop_caches

或者,您可以通过永久设置它/etc/modprobe.d/zfs.conf并重新启动系统。

相关内容