ext4文件系统默认为root预留5%磁盘空间以保障关键服务运行,可通过tune2fs -m在线调整比例(如-m 1设为1%,-m 0取消),操作需root权限、无需卸载,但根分区不建议设为0%。

Linux 中的 root 用户预留空间,不是内存预留,而是 ext2/ext3/ext4 文件系统在格式化或运行时为 root 用户保留的一块磁盘空间,默认为总容量的 5%。它的核心作用是保障系统在磁盘几乎写满时,root 仍能登录、写日志、执行关键维护操作,避免服务彻底中断。
预留空间的实际影响
它直接导致 df -h 显示的“Available”值小于理论剩余空间。例如一块 1TB 的 ext4 数据盘,即使未存任何文件,“可用空间”也会比 1TB 少约 50GB。这部分空间对普通用户不可见、不可用,但 root 在紧急时可调用——它不占用 inode,也不影响文件创建,只限制块(block)的分配上限。
查看当前预留配置
运行以下命令即可快速确认:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
tune2fs -l /dev/xxx | grep -E "(Block count|Reserved block count)"—— 查看总块数与已预留块数,手动计算百分比 -
dumpe2fs -h /dev/xxx | grep -i reserved—— 输出更简洁,含“Reserved block count”和“Reserved block group size”
注意:/dev/xxx 需替换为实际设备名(如 /dev/sdb1),且需 root 权限。
安全调整预留比例
使用 tune2fs -m 可在线修改,无需卸载或重启:
-
tune2fs -m 1 /dev/sdb1→ 设为 1%,适合大容量数据盘,平衡安全与空间利用率 -
tune2fs -m 0 /dev/sdb1→ 完全取消预留,仅推荐用于非系统盘、有完善监控与告警的数据盘 - 不建议对根分区(/)设为 0%,否则磁盘写满后 root 可能无法登录、journalctl 写失败、SSH 拒绝连接
格式化时预设预留值
若新建分区,可在 mkfs 阶段直接指定,避免后续调整:
-
mkfs.ext4 -m 0 /dev/sdb1→ 创建无预留空间的 ext4 分区 -
mkfs.ext4 -m 2 /dev/sdb1→ 预设预留 2% - 也可用
-r N指定预留 N 个物理块(如-r 10000),适用于超小分区或精确控制场景










