浅析/dev/shm

一,/dev/shm 概念

  1. /dev/shm 是一个tmpfs文件系统,临时文件系统,是基于内存的文件系统,也就是说/dev/shm中的文件是直接写入内存的,而不占用硬盘空间。
  2. 在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为 /dev/shm/这个目录不在硬盘上,而是在内存里,它就所谓的tmpfs。
  3. 在Redhat/CentOS等linux发行版中默认大小为物理内存的一半。最大可达到 物理内存+SWAP的大小
  4. /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-

  1. mount -o remount,size=5G /dev/shm

For permanent mounting,paste the below given bolded line in /etc/fstab:

  1. vi /etc/fstab
  2. **none /dev/shm tmpfs defaults,size=5G 0 0**

save and close the /etc/fstab file.

  1. > # mount -o remount /dev/shm

& Verify the mounting.

  1. # df -Th

五,问题解决:

有时会遇到/dev/shm 卸载不掉的情况

  1. # umount /dev/shm umount: /dev/shm: device is busy.

用fuser处理

  1. # fuser -km /dev/shm
  2. # umount /dev/shm
  3. # mount /dev/shm

fuser命令

-k:kill processes accessing the named file(杀死所有正在访问指定文件的进程 )

-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。

所有访问该文件系统的进程都被列出。

来自为知笔记(Wiz)

时间: 2024-08-05 18:41:27

浅析/dev/shm的相关文章

oerr ora 000845解决方法是扩大/dev/shm空间

打开虚拟机发现实例起不来 [[email protected] ~]# su - oraclesq[[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 2 14:59:54 2016 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to an idle instance. [ema

linux的/dev/shm目录用于优化

我们日常操作中经常df –Th查看磁盘容量,那么/dev/shm的作用到底是什么?  $ df -Th 文件系统      类型    容量  已用 可用 已用% 挂载点 /dev/sda2     ext3     57G   32G   23G  59% / /dev/sda5     ext3    476G  341G  111G  76% /var /dev/sda1     ext3    190M   29M  153M  16% /boot /dev/sdb1     ext2 

oracle对/dev/shm的使用

查看共享内存打开的文件数 [[email protected] ~]# lsof -n | grep /dev/shm | wc -l 34693 共享内存中总共文件数 [[email protected] ~]# ls -l /dev/shm | wc -l 495 Why is Oracle keeping hundreds of thousands Open File descriptors in /dev/shm while there are just hundreds of file

用linux服务器下的/dev/shm/来释放磁盘的压力

巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使用您的内存或swap分区来存储文件.由此可见,tmpfs主要存储暂存的文件.它有如下2个优势 : 1. 动态文件系统的大小.2. tmpfs 的另一个主要的好处是它闪电般的速度.因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的.同时它也有一个缺点  

Linux下的tmpfs文件系统(/dev/shm)

转自:http://www.2cto.com/os/201411/354888.html 介绍 /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统.redhat中默认大小为物理内存的一半,使用时不用mkfs格式化. tmpfs是Linux/Unix系统上的一种基于内存的虚拟文件系统.tmpfs可以使用您的内存或swap分区来存储文件(即它的存储空间在virtual memory 中, VM由real memory和swap组成).由此可见,tmpfs主要存储暂存

Linux下tempfs及/dev/shm原理与应用

引言: 在linux或unix中使用df命令查看文件系统会发现类似如下信息(ubuntu12.04) 其中有一部分是tmpfs文件系统,挂在/rum下,还有个 none文件系统挂在/run/shm下. 什么是tmpfs? tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使用您的内存或swap分区来存储文件.由此可见,temfs主要存储暂存的文件. linux内核中的VM子系统负责在后台管理虚拟内存资源Virtual Memory,即RAM和swap资源,透明地将RA

修改/dev/shm的大小(含redhat6版本以上重启后失效解决办法)

常规处理方法: 1.编辑 /etc/fstab #vim /etc/fstab 修改前 :tmpfs /dev/shm tmpfs defaults 0 0 修改后:tmpfs /dev/shm tmpfs defaults.size=4g 0 0 2.重新mount /dev/shm #mount -o remount /dev/shm 正常情况,执行上边两部操作就会生效了 针对redhat 或者 centos 6版本以上的系统 重启后设置会失效,需要启动后执行mount -o remount

linux下的/dev/shm/ 以及与swap目录的区别

摘自:http://miaozk2006.blog.163.com/blog/static/3824705820111028183996/ 一./dev/shm/介绍: /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里.因此在linux下,就不需要大费周折去建ramdisk,直接使用/dev/shm/就可达到很好的优化效果. /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到.但它并不会真正

redhat 7.3 扩展/dev/shm

CLSRSC-184: Configuration of ASM failed CLSRSC-258: Failed to configure and start ASM [[email protected] ~]# df -h Filesystem             Size  Used Avail Use% Mounted on /dev/mapper/rhel-root   51G  7.0G   44G  14% / devtmpfs               977M