/dev/shm是linux下的一块共享内存结构。默认大小是真实内存的一半。它用来存储进程间通讯时的一些共享数据结构。在物理内存足够时,会在内存中进行数据交换,如果物理内存缺乏时,会用swap进行数据交换. 支持动态在线调整.在我们需要时可以增加或缩减它的大小。
如果你的程序、代码,需要非常频密地读写一个文件且对读写速度要求极高,可以独立划分一定的内存空间挂载到指定目录下,在这个目录下创建、读写文件,这样就能满足了读写速度的高要求和避免了频密读写硬盘引起的不足和影响。
mount -t tmpfs -o size=1024m tmpfs /mnt/ram
以上命令开了一块1G内存来当目录用。如果里面没文件,是不会占用内存的,用多少占多少。
在/etc/fstab中加一行语句,实现开机挂载。
tmpfs /var/tmp tmpfs size=768M,,noatime,mode=1777 0 0
不过一般来说没必要手动挂载,因为多数Linux发行版都会在fstab内预留了一个内存目录,挂载在/dev/shm,直接使用即可,/dev/shm针对所有的用户都能进行读写操作,不用担心权限问题.