linux的/dev/shm是干什么用的

 我来答
帐号已注销
2019-09-08 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:79.6万
展开全部

/dev/shm/是一个设备文件,它使用就是tmpfs文件系统(注意:在CentOS和RedHat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看)。

因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。

tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势:

1)动态文件系统

2)闪电般的速度,因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。 

扩展资料

虚拟内存

Linux内核的虚拟内存资源同时来源于您的RAM和交换分区。内核中的VM子系统将这些资源分配到系统中的其它部分,并负责在后台管理这些资源,通常是透明地将RAM页移动到交换分区或从交换分区到RAM页。

tmpfs文件系统需要VM子系统的页面来存储文件。tmpfs自己并不知道这些页面是在交换分区还是在RAM中;做这种决定是VM子系统的工作。tmpfs文件系统所知道的就是它正在使用某种形式的虚拟内存。

不同于大多数“标准的”文件系统,如ext3、ReiserFS和其它一些系统,tmpfs并不是存在于一个底层块设备上面。因为tmpfs是直接建立在VM之上的,您用一个简单的mount命令就可以创建tmpfs文件系统了。

参考资料来源:百度百科—tmpfs

威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
帐号已注销
2019-07-05 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:5851
展开全部

/dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。(shm == shared memory)。

linux中/dev目录下一般都是一些设备文件,例如磁盘、内存、摄像头等。


扩展资料

/dev/shm的容量分配:

/dev/shm的容量默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节。

通过df -h命令,可以看到/dev/shm的文件系统为tmpfs,即为临时文件系统。其他的几个tmpfs的挂载目录,其实质上于/dev/shm是一致的。例如:

>df -h

文件系统        容量  已用  可用 已用% 挂载点

dev             3.9G     0  3.9G    0% /dev

run             3.9G  656K  3.9G    1% /run

/dev/sda2        58G   12G   43G   22% /

tmpfs           3.9G  1.0G  2.9G   26% /dev/shm

tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup

tmpfs           3.9G     0  3.9G    0% /tmp

/dev/sdb1        58G   24G   32G   44% /mnt/data

/dev/sda1       488M   26M  463M    6% /boot

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexicheng
推荐于2017-10-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7008万
展开全部
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果.
/dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果。默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式