PVE相关教程
SDN快速创建和使用
ProxmoxVE使用云镜像Cloud-Init快速创建虚拟机
iptables规则持久化
PVE相关脚本
PVE虚拟机备份与恢复
使用 systemd-networkd 配置网络
ubuntu云镜像安装
PVE添加目录映射
PVE硬件直通
PVE虚拟机通过宿主机NAT上网教程
PVE一键显示温度、CPU 频率、硬盘信息教程
PVE限制ZFS的内存占用
OpenWRT/iStoreOS 安装 qemu-guest-agent
本文档使用 MrDoc 发布
-
+
首页
PVE限制ZFS的内存占用
ZFS默认会占用大量内存(ARC 缓存),一般会占系统内存的 50%。如果你想降低 ZFS 的内存占用,可以通过设置 `zfs_arc_max` 进行限制。 --- # 1️⃣ 查看当前 ZFS 内存占用 ```bash cat /proc/spl/kstat/zfs/arcstats | grep -E "size|c_max" ``` 结果示例: ``` c_max 4 32252510208 # ARC 最大上限 size 4 4014424536 # 当前 ARC 使用 ``` --- # 2️⃣ ZFS ARC 内存限制方法 ZFS ARC 限制通过设置: ``` zfs_arc_max = 最大可占用内存(字节) ``` 常用字节换算(直接复制使用): | 目标内存 | 字节值 | | ----- | ---------- | | 512MB | 536870912 | | 1GB | 1073741824 | | 2GB | 2147483648 | | 4GB | 4294967296 | | 8GB | 8589934592 | --- # 3️⃣ 设置 ARC 内存上限(永久) ### ① 编辑 zfs.conf(没有就新建) ```bash vim /etc/modprobe.d/zfs.conf ``` 加入下面一行(以 512MB 为例): ```conf options zfs zfs_arc_max=536870912 ``` 如需 1GB: ```conf options zfs zfs_arc_max=1073741824 ``` --- ### ② 更新 initramfs ```bash update-initramfs -u ``` --- ### ③ 重启 PVE ```bash reboot ``` --- # 4️⃣ 验证是否生效 重启后执行: ```bash cat /proc/spl/kstat/zfs/arcstats | grep -E "size|c_max" ``` 如果看到: ``` c_max 536870912 ``` 表示已成功限制为 512MB。 --- # 5️⃣ 注意事项(非常重要) * **512MB ARC 非常低**,适合低负载场景(如轻量虚拟机、测试机)。 * ARC 越小性能越差,ZFS 依赖大量内存来实现高性能缓存。 * 如果你的服务器有 ≥32GB 内存,推荐设置至少 4GB ARC。 * 修改 ARC 不会影响数据安全,只影响读/写的缓存性能。 ---
koalalove
2025年11月17日 11:32
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码