可直接用 mount -o remount,size= 命令在线调整 tmpfs 大小,如 sudo mount -o remount,size=4g /dev/shm;需 root 权限,不能超可用内存+交换总和,重启失效,持久化需改 /etc/fstab。

可以直接用 mount -o remount,size= 命令在线调整已挂载的 tmpfs(如 /dev/shm、/tmp 或自定义挂载点)大小,无需重启或卸载,但需注意权限、挂载点状态和内存余量。
确认当前挂载状态和可用空间
先检查目标 tmpfs 是否已挂载及当前配置:
- 运行
df -h /dev/shm或df -h /tmp查看当前大小与使用率 - 用
mount | grep tmpfs确认挂载选项,尤其是是否含size=参数 - 若输出中未显示
size=,说明它正使用默认策略(通常是物理内存的 50%),此时仍可 remount 指定 size
执行在线重挂载调整
语法统一为:sudo mount -o remount,size=XXX /mount/point,其中 XXX 支持单位 G/M/K 或百分比(如 2G、1024M、25%):
- 调大
/dev/shm到 4GB:sudo mount -o remount,size=4G /dev/shm - 将
/tmp设为物理内存的 30%:sudo mount -o remount,size=30% /tmp - 若提示 “device is busy”,通常因有进程正在读写该目录;可加
-l(lazy)选项强制延迟卸载:sudo mount -o remount,lazy,size=2G /dev/shm
验证调整是否生效
立即验证变更结果:
- 再次运行
df -h /dev/shm或df -h /tmp,确认 Size 列已更新 - 用
findmnt -t tmpfs查看挂载选项,确认size=已写入当前参数 - 注意:此操作不释放已占用空间,仅扩大上限;已写入的数据仍计入已用(Used),但新文件可继续写入直至达到新上限
注意事项与常见限制
该操作虽便捷,但有几处关键约束必须留意:
- 必须以 root 或 sudo 权限执行,普通用户无权修改挂载选项
- size 值不能超过系统当前可用内存 + 交换空间总和,否则挂载会失败并报 “No space left on device”
- 调整后大小在下次系统重启时失效,如需持久化,须同步修改
/etc/fstab中对应条目 - 若目标挂载点是只读(ro)或含
noexec/nosuid等安全选项,remount 时需一并带上,否则原有选项会被覆盖为 defaults











