[ZT]使用tmpfs缓存文件提高性能 - 夜隼 - 博客园
tmpfs是一种虚拟内存文件系统,它最大的特点就是它的存储空间在VM(virtual memory)里面。Linux系统中VM主要由RM(Real Memory)和swap组成,因此tmpfs最大的存储空间可达(The size of RM + The size ofSwap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
使用tmpfs:
#mount -t tmpfs -o size=32m tmpfs /mnt/tmp
上面这条命令分配了上限为32m的VM到/mnt/tmp目录下,用df命令查看一下就知道了。
简单介绍下tmpfs的优缺点;
优点:
1)动态文件系统的大小
您可能以为我们前面在 /mnt/tmp 安装的tmp 文件系统空间的大小是32M。其实不然,/mnt/tmp最初的空间很小,它是随着文件的复制、创建和删除动态增减的。tmpfs能自动处理空间问题,以确保VM资源的循环使用。
上面的参数32m只是告诉内核这个挂载点最大可用的VM为32m,如果不加上这个参数,tmpfs默认的大小是RM的一半,假如你的物理内存是512M,那么tmpfs默认的大小就是256M。
2)速度
由于tmpfs使用的是VM,它是是完全驻留在RAM中的,因此它比硬盘的速度要快许多。
3)没有持久性
因为虚拟内存本质上就是易失的,tmpfs 数据在重新启动之后不会保留。 它让 tmpfs 成为一个保存不需保留的数据(如临时文件,可以在 /tmp 中找到,还有 /var 文件系统树的某些部分)的卓越的文件系统。
缺点:
1)低 VM 情况
2)在现存的安装点上安装问题