Proxmox VE ZFS 的 ARC 調整
BUBU 因公司伺服器效能沒有說很好 RAM 也只有 8G 因此在使用 ZFS 格式 RAM 會被吃掉約 50% 因此想要調整 ZFS 在 RAM 上面的限制,那我們可以透過 ARC 去做一些 ZFS 參數上調整。
運行環境
環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式
- 系統環境: Proxmox VE 7.4
設定過程
- 首先我們先下一段指令確認目前的參數為何
arc_summary
- 下圖是目前該設備參數
- 那我想要把限制壓在約 2 ~ 4G 的範圍,我們先計算一下 4G 的大小,計算公式如下
echo $((4 * 2 ** 30 ))
- 計算結果
4294967296
- 建立參數的設定檔
/etc/modprobe.d/zfs.conf
options zfs zfs_arc_min=2147483648
options zfs zfs_arc_max=4294967296
- 更新設定檔(Bios 是舊的legacy模式)
update-initramfs -u
- 更新設定檔(Bios 是新的UEFI模式)
pve-efiboot-tool refresh
- 更新完後重啟 PVE 主機
reboot -nf
- 重啟完畢後再下一次指令確認 RAM 是否有限制在您剛剛所設定的範圍
arc_summary
- 結果如下
補充說明
BUBU 因公司環境 RAM 已用了 95% 影響到客機上的服務,會把客機上資源吃比較重的服務停用,那因臨時無法停機作業官方有一個臨時可以調整 ZFS 做限制。每 1TB 硬碟空間就要配於 1G RAM 以下是臨時做限制的指定,未來如果重新啟動 PVE 該參數會失效,那您如果確認該參數沒有問題的話可以考慮上面的設定寫入到永久參數,這樣子就不用每次重啟都要設定一次。
echo "$[10 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max