centos7-tmpfs⽂件系统
疑问:
系统安装完成后,查看分区情况,发现多了很多tmpfs⽂件系统挂载的⽬录,并占⽤了"/" 的分配空间
-- 由于之前⽤习惯了阿⾥云的ECS服务器,简单明了的把所有空间都分配给了" / " , 所以特别在意。
tmpfs的基本认识:
什么是tmpfs
tmpfs是ramfs的衍⽣品。
ramfs是基于RAM的⽂件系统,不能使⽤swap空间;tmpfs可以动态释放空间、可以使⽤swap空间。
nep substrateramfs不能控制使⽤内存的⼤⼩容易使内存爆掉;⽽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上的,⽽不是物理磁盘上,所以不需要格式化就可以使⽤,所以不⽤尝试pfs了:没有这条命令
动态调节⼤⼩:tmpfs的⼤⼩是动态的,⽤多少才分配多少,删除⽂件则会释放相应的VM空间
快:tmpfs⼤部分时间是驻留在物理内存中,这使得其读写速度超快
tmpfs的缺点
不可持久保存:tmpfs的先天优势变成了他的先天劣势:内存的特性导致位于tmpfs上的数据断电会丢
成本⾼:相⽐较硬盘的价格来说,内存⽆疑还是很昂贵的,所以⽤tmpfs的⽬录不要放太⼤的东西
tmpfs的应⽤场景
天⽣就是为临时⽬录⽽⽣的
适合存储socket、session等,对于⾼io的临时数据也可以选择进⾏存储,
对于⾼io并且还需要持久化到磁盘的,需要通过其他⼿段,tmpfs可以提⾼linux系统的性能。
centos和ubuntu
针对linux为什么默认将这些⽬录挂载tmpfs进⾏分析:
flowmap怎么做/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
⽅法⼀:英语自我介绍万能模板
如果没有在/etc/fstab内配置,则直接 umount /tmp  即可。
网页开发工程师职责要求
⽅法⼆:
如果在/etc/fstab内配置,则删除配置,然后mount -a (--测试/etc/fstab⽆错误),最后重启系统即可。转载及摘抄:
(探索 Linux 上的 /run )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。