centos7 - tmpfs文件系统

疑问: 

系统安装完成后,查看分区情况,发现多了很多tmpfs文件系统挂载的目录,并占用了"/" 的分配空间

-- 由于之前用习惯了阿里云的ECS服务器,简单明了的把所有空间都分配给了" / " , 所以特别在意。



tmpfs的基本认识:

  • 什么是tmpfs
    • tmpfs是ramfs衍生品
    • ramfs是基于RAM的文件系统,不能使用swap空间;tmpfs可以动态释放空间、可以使用swap空间
    • ramfs不能控制使用内存的大小容易使内存爆掉;而tmpfs可以在mount的时候指定size来控制使用内存的大小,不会导致系统崩溃
    • tmpfs是存储在VM的文件系统,VM是linux的虚拟内存,由RM(物理内存)和swap组成
    • RM的读写性能优于swap,swap是物理磁盘虚拟出来的内存空间
    • 具体tmpfs使用的是RM还是swap是不可控的,这是由linux内核的vm子系统管理的
  • 内核支持
    •  编译内核时,启用“Virtual memory file system support”就可以使用tmpfs,linux kernel从2.4以后都开始支持tmpfs。目前主流的linux系统默认已启用tmpfs,如Redhat。
  • tmpfs的优点 
    • 使用方便:因为tmpfs是建立在VM上的,而不是物理磁盘上,所以不需要格式化就可以使用,所以不用尝试mkfs.tmpfs了:没有这条命令
    • 动态调节大小:tmpfs的大小是动态的,用多少才分配多少,删除文件则会释放相应的VM空间
    • 快:tmpfs大部分时间是驻留在物理内存中,这使得其读写速度超快
  • tmpfs的缺点
    • 不可持久保存:tmpfs的先天优势变成了他的先天劣势:内存的特性导致位于tmpfs上的数据断电会丢失
    • 成本高:相比较硬盘的价格来说,内存无疑还是很昂贵的,所以用tmpfs的目录不要放太大的东西
  • tmpfs的应用场景
    • 天生就是为临时目录而生的
    • 适合存储socket、session等,对于高io的临时数据也可以选择进行存储,
    • 对于高io并且还需要持久化到磁盘的,需要通过其他手段,tmpfs可以提高linux系统的性能。

针对linux为什么默认将这些目录挂载tmpfs进行分析:

  • /dev
    /dev这个目录对所有的用户都十分重要。
    因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。
    它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
  • /dev/shm
    /dev/shm/是一个设备文件,它使用就是tmpfs文件系统
    (注意:在CentOS和RedHat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看)
    
    但后期的centos版本中 /dev/shm 就是一个被挂载的目录
  • /run
    它被识别为 “tmpfs”(临时文件系统),因此我们知道 /run 中的文件和目录没有存储在磁盘上,而只存储在内存中。
    它们表示保存在内存(或基于磁盘的交换空间)中的数据,它看起来像是一个已挂载的文件系统,这个可以使其更易于访问和管理。
  • /sys/fs/cgroup
    Cgroup是将任意进程进行分组化管理的Linux内核功能
    cgroup本身提供将进程进行分组化管理的功能和接口的基础结构
  • /run/user/0
    我们看到的/run/user/下的每个目录与当前登录的用户或显示管理器 gdm 相关。数字代表他们的 UID。
    /run/user/0 表示root用户
    /run/user/1000 表示某个普通用户

实战 tmpfs 挂载:

1、挂载某个已存在的目录,例如 /tmp
设想:如果直接挂载,会将/tmp目录下原有的文件覆盖掉。
mount -t tmpfs -o size=20m tmpfs /tmp
测试:在/ets/fstab 文件内直接进行配置挂载,重启后生效
测试:如何卸载 umount 已经挂载的/tmp
方法一: 
如果没有在/etc/fstab内配置,则直接 umount /tmp  即可。

方法二:
如果在/etc/fstab内配置,则删除配置,然后mount -a (--测试/etc/fstab无错误),最后重启系统  即可。







posted @ 2021-05-21 18:24  海兵的正义  阅读(3970)  评论(0编辑  收藏  举报