首页/系统/Linux 运维命令速查/tmpfs 内存文件系统
磁盘与文件系统51 条

tmpfs 内存文件系统

tmpfs 将文件放在内存(必要时溢出到 swap),重启即清空;/dev/shm、/run 用它提速,也能给高 IO 临时目录提速但要防吃光内存。

Linux 运维命令速查系统更新于 2026-10-13

tmpfs 内存文件系统是什么

tmpfs 是内存文件系统:文件内容放在内存里(内存压力大时可溢出到交换区),读写速度远快于磁盘,重启后内容全部清空。系统里的共享内存目录与运行期目录默认就是这种文件系统,很多程序靠它提速。它的风险同样明确:写入占用的是内存,写满会触发内存回收甚至把系统拖入内存不足状态,生产上必须显式限制容量并做监控。

基本信息

适用平台GNU/Linux(内核自带)
语法mount -t tmpfs -o size=容量 tmpfs 挂载点
持久化写进 fstab,选项里包含容量与权限
常见用途加速临时读写、隔离敏感临时文件
数据特性重启即清空,不保留持久数据
容量默认未指定时约为物理内存的一半

典型使用场景

  • 给高频临时读写的目录提速,例如编译中间产物与临时缓存。
  • 放置进程间通信与共享内存文件,减少磁盘往返。
  • 隔离敏感临时数据,重启即自动清除。
  • 在容器与测试环境里提供快速的临时工作目录。
  • 验证程序在内存文件系统上的性能上限。

常用写法

常用写法
mount -t tmpfs -o size=2G,mode=1777 tmpfs /ramdisk   # 挂载 2G 内存盘
df -h /ramdisk                                       # 确认容量与使用率
du -sh /ramdisk                                      # 查看实际占用
umount /ramdisk                                      # 卸载,内容立即消失
# fstab 持久化示例:
# tmpfs /ramdisk tmpfs size=2G,mode=1777,nosuid,nodev 0 0
mount | grep tmpfs | head                            # 查看现有内存文件系统

项目与行为读法

项目含义使用要点
挂载类型内存文件系统内容随重启消失
容量参数上限大小必须显式指定,否则默认约一半内存
权限模式目录权限共享目录常用 1777
溢出行为可写入交换区内存紧张时增加换页压力
超限写入返回空间不足是文件写入失败而不是系统报内存错
数据持久性重启清空不能存放需要保留的数据
容量参数不写时要特别留意:默认值约为物理内存的一半,在多用途机器上可能大到危险,显式声明容量是硬要求。
挂载选项里加上禁止设备文件、禁止修改权限等限制,可以降低把临时目录当作攻击跳板的风险。
写入接近容量上限时会触发内存回收,严重时触发内存不足终止进程;生产上必须限制容量并对使用率做监控。

易错点

  • 把数据库数据目录或重要日志放在内存文件系统上,重启后数据全部丢失且无法恢复。
  • 不限制容量导致写入吃光内存,触发内存回收甚至连带终止其他进程。
  • 以为超限写入会报内存错误,实际是文件写入返回空间不足,排查时容易找错方向。
  • 挂载后忘记在启动时自动恢复,重启后依赖该目录的服务启动失败。

数据来源与参考

  • 内核文档 mm/tmpfs(Documentation/filesystems/tmpfs.rst)
  • man 5 tmpfs(mount 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌