centos下的内存文件夹/dev/shm

介绍
centos下,有个神奇的目录,/dev/shm。这个目录用于内存映射。也就是说往这个目录写东西,都会写到内存里,不会持久化到磁盘。系统重启以后,文件都消失。他的默认大小是内存的一半,被他占用的内存不会被系统回收重新划分。

设置与原理
修改/dev/shm大小
vi /etc/fstab,编辑tmpfs行,将tmpfs大小改为256m
tmpfs                   /dev/shm                tmpfs   defaults,size=256m        0 0
如图:


拷贝一个临时文件到/dev/shm/tmp目录下观察,free -m的变化。
首先在free -m后,cached的大小是118m。当拷贝了一个18m的文件到/dev/shm目录下后,cache变成了135m。通过df命令,看到磁盘下面的使用空间也是使用了18M。



应用场景
对于一些iops较高的场景,可以开启写入缓存或者使用/dev/shm方式减少IOPS。比如nginx的几个temp目录可以指向到这里,一些不重要的日志可以接受一定的丢失场景下,放到这里对性能也有显著的提升。对于nginx来说,开启日志的buffer也会有很明显的提升。结合场景,充分利用内存是/dev/shm的精髓。

猜你喜欢

转载自phl.iteye.com/blog/2255591