限制建議系統的 ARC 大小

限制建議系統的 ARC 大小

我有一個池,5 x enterprise 12Gps SSD用於proxmox伺服器的內部儲存。此池用於建立虛擬機器和容器。問題是它佔用了我的大量可用記憶體192G!總結如下: 在此輸入影像描述

正如你所看到的Max size is 94.4GiB

我的問題是:這個的最佳值應該是多少?以及如何改變它?

這是我的生產伺服器,我希望 100% 確定該過程。 (我已經看過了這裡但我的伺服器也不遵守弧線大小:( )

任何幫助或建議將不勝感激!

答案1

您可以透過執行以下操作來持續減少 ARC 大小。

編輯或新增名為

/etc/modprobe.d/zfs.conf

新增一行如下。此範例行適用於 1 GB 記憶體。因此,將這個數字乘以您想要調整的演出數量。

options zfs zfs_arc_max=1073741824

儲存檔案後運行命令

更新 initramfs -u -k 全部

然後重新啟動以應用變更。

答案2

預設情況下,ARC 最多使用 50% 的系統 RAM。然而,ARC 是動態的:如果系統記憶體壓力增加,它會自行調低。

因此,我建議僅當您遇到一些真正的系統問題時,或者在具有非常大的 RAM 的系統中(其中擁有如此多的快取並沒有真正的優勢)時才將其限制下來。

也就是說,您可以透過zfs_arc_max可調參數手動(動態)限制 ARC。但是,請務必了解,簡單地將其降低到當前 ARC 使用量以下將會不是立即釋放記憶體。來自手冊頁

zfs_arc_max 可以動態更改,但有一些注意事項。運行時不能將其設定回 0,並且將其減小到當前 ARC 大小以下不會導致 ARC 收縮,而不會因記憶體壓力而導致收縮。

如果您需要立即釋放 ARC 內存,您可以設定上面的可調參數,然後透過 手動刪除快取echo 3 > /proc/sys/vm/drop_caches

或者,您可以透過/etc/modprobe.d/zfs.conf重新啟動系統來永久設定它。

相關內容