文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在Linux上使用文件系统tmpfs

2023-06-13 01:56

关注

这篇文章主要介绍“如何在Linux上使用文件系统tmpfs”,在日常操作中,相信很多人在如何在Linux上使用文件系统tmpfs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux上使用文件系统tmpfs”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  tmpfs介绍

  tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化

  它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。

  linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。

  Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。

  VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。

  tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M

  一般情况下,是配置的小于物理内存大小的。

  tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。

  当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。

  #########################

  tmpfs的用途

  例如:

  Oracle 中的Automatic Memory Management特性就使用了/dev/shm。

  LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。

  调整tmpfs大小大致有以下三种方法:

  1.直接挂载到需要的目录--比如系统的临时目录-可以根据实际需要挂载某个程序的临时文件的目录

  [root@bys3 ~]# mount -t tmpfs -o size=20m tmpfs /tmp

  [root@bys3 ~]# df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 502M 0 502M 0% /dev/shm

  tmpfs 20M 0 20M 0% /tmp

  由于没有挂载之前/tmp目录下的文件也许正在被使用,因此挂载之后系统也许有的程序不能正常工作。可以写入/etc/fstab,这样重启后也有效。

  2./etc/fstab文件来修改/dev/shm的容量(增加size=100M选项即可),修改后,重新挂载即可:

  [root@bys3 ~]# cat /etc/fstab

  LABEL=/ / ext3 defaults 1 1

  LABEL=/boot /boot ext3 defaults 1 2

  tmpfs /dev/shm tmpfs defaults,size=600M 0 0

  tmpfs /tmp tmpfs defaults,size=25M 0 0

  devpts /dev/pts devpts gid=5,mode=620 0 0

  sysfs /sys sysfs defaults 0 0

  proc /proc proc defaults 0 0

  LABEL=SWAP-sda3 swap swap defaults 0 0

  /dev/sda5 swap swap defaults 0 0

  [root@bys3 ~]# mount -a --测试/etc/fstab无错误,重启OS系统

  [oracle@bys3 ~]$ df -h --重启后的信息如下,tmpfs文件系统的对应条目已经改变为配置的

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 600M 0 600M 0% /dev/shm

  tmpfs 25M 0 25M 0% /tmp

  3./dev/shm建一个tmp目前,并与/tmp绑定。 --这方法有点烦琐,不如方法1方便快捷。

  [root@bys3 ~]# mkdir /dev/shm/tmp

  [root@bys3 ~]# chmod 1777 /dev/shm/tmp

  [root@bys3 ~]# mount --bind /dev/shm/tmp /tmp -注意mount --bind 这里bind前是两个-

  [root@bys3 ~]# ls -ld /tmp

  drwxrwxrwt 2 root root 40 Dec 8 12:15 /tmp

  [root@bys3 ~]# df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 16G 10G 4.7G 69% /

  /dev/sda1 99M 21M 74M 22% /boot

  tmpfs 600M 0 600M 0% /dev/shm

  tmpfs 600M 0 600M 0% /tmp ----可以看到/tmp使用到了 /dev/shm的空间。

到此,关于“如何在Linux上使用文件系统tmpfs”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯