浅析/dev/shm
2024-10-09 22:12:05
一,/dev/shm 概念
- /dev/shm 是一个tmpfs文件系统,临时文件系统,是基于内存的文件系统,也就是说/dev/shm中的文件是直接写入内存的,而不占用硬盘空间。
- 在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。
- 在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。最大可达到 物理内存+SWAP的大小
- /dev/shm不是立即占用内存,而是采用需要才占用内存的方法。在上面的例子中,/dev/shm设置的值是20G,我们看到已用写入了9.5G的数据,也就是占用了9.5G的内存。
二,特点
1.动态文件系统
2.tmpfs 文件系统会完全驻留在内存 RAM 中,读写速度快
3.tmpfs 数据在重新启动之后不会保留,例如重启,重新加载,绑定等操作都会清空/dev/shm下的内容
三,/dev/shm 用途
tmpfs是基于内存的,速度是不用说的,硬盘和它没法比。Oracle 中的Automatic Memory Management特性就使用了/dev/shm。另外如果在网站运维中好好利用tmpfs,将有意想不到的收获。
四,/dev/shm 设置和修改
For temporary mounting-
mount -o remount,size=5G /dev/shm
For permanent mounting,paste the below given bolded line in /etc/fstab:
vi /etc/fstab
**none /dev/shm tmpfs defaults,size=5G 0 0**
save and close the /etc/fstab file.
> # mount -o remount /dev/shm
& Verify the mounting.
# df -Th
五,问题解决:
有时会遇到/dev/shm 卸载不掉的情况
# umount /dev/shm umount: /dev/shm: device is busy.
用fuser处理
# fuser -km /dev/shm
# umount /dev/shm
# mount /dev/shm
fuser命令
-k:kill processes accessing the named file(杀死所有正在访问指定文件的进程 )
-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。
所有访问该文件系统的进程都被列出。
最新文章
- CentOS 7 安装 配置 MySQL
- <;十>;JDBC_处理Blob类型数据
- 校际联合Contest
- java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。
- [MSSQL2005]再看CTE
- 泛——复习js高级第三版
- Target runtime Apache Tomcat v7.0 is not defined.
- 目标检测的图像特征提取之(二)LBP特征
- 初学dorado
- bzoj1379 [Baltic2001]Postman
- .Net普通三层 到 工厂模式->;线程内唯一+单元工作模式->;WebService分布式三层
- 初识.Net IL
- 【原创】Linux基础之测试域名IP端口连通性
- lvs UDP端口负载均衡配置
- 多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用instanceof
- (4)Python3笔记 之 流程控制
- loadrunner中pacing的设置
- iOS动画1 — UIView动画
- Kubernetes的Cron Job
- QT 登陆对话框
热门文章
- excellent cushioning and also vitality go back with this boot
- Z字形扫描(201412-2)
- SpringMVC学习记录3
- css驼峰写法
- iOS组件化思路 <;转>;
- [C/C++] C/C++延伸学习系列之STL及Boost库概述
- 进程内部异步事件调用组件Async-Event
- ecshop 秒杀并发时库存会被减到小于0的解决办法
- 对偶SVM
- ubuntu 15.10 安装swift开发环境 2016/4/17