挖掘一个很久之前的设想,06年的,之前的想法是用tmpfs,tmpfs是RAM和磁盘swap的混杂机制,大部分的情况是优先使用内存空间,尽管本质上是非持久存储,但性能上远不是磁盘甚至固态硬盘所能企及的。而且现在是内存空前便宜的时代,类似的方案例如memcache等,变得更有价值了。
默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果如下:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 146G 14G 125G 10% /
varrun 501M 84K 501M 1% /var/run
varlock 501M 0 501M 0% /var/lock
udev 501M 32K 501M 1% /dev
devshm 501M 0 501M 0% /dev/shm
默认配置的shm分区正好是内存的一半。
可以重新调整大小:
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=4096M 0 0
umount /dev/shm; mount /dev/shm
不同于文件系统/dev/shm不是一个文件,是一个目录,完全可以通过文件链接的方式挂装到指定目录,还是推荐采用mount方式:
mount –bind /dev/shm /data