介绍
/ dev/shm/ 是一个使用就是 tmpfs 文件系统 的设备,其实就是一个特殊的文件系统。 redhat 中默认大小为物理内存的一半 , 使用时不用 mkfs 格式化。
tmpfs是 Linux/Unix系统上的一种基于内存的 虚拟 文件系统。tmpfs可以使用您的内存或swap分区来存储文件( 即它的存储空间在 virtual memory 中 , VM 由 real memory 和 swap 组成 )。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 使用 VM 建的文件系统,速度当然快 。3. 重启后数据丢失。
当删除 tmpfs 中的文件时 ,tmpfs 会动态减少文件系统并释放 VM 资源 , LINUX 中可以把一些程序的临时文件放置在 tmpfs中,利用 tmpfs 比硬盘速度快的特点提升系统性能 。实际应用中,为应用的特定需求设定此文件系统,可以提升应用读写性能,如将 squid 缓存目录放在 /tmp, php session 文件放在 /tmp, socket 文件放在 /tmp, 或者使用 /tmp 作为其它应用的缓存设备
临时修改/dev/shm大小
#mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
mount -t tmpfs -o size=20m tmpfs /tmp 临时挂载使用
开机启用的配置
可以在 /etc/fstab 中定义其大小
tmpfs /dev/shm tmpfs,defaults,size=512m 0 0
tmpfs /tmp tmpfs defaults,size=25M 0 0
修改后执行 mount -o remoount /dev/shm 后生效
mkdir /dev/shm/tmp (/dev/shm/ 下新建的目录与 /tmp 绑定 , 则 /tmp 即使用 tmpfs 文件系统 )
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp