Linux 把内存当做硬盘来使用
tmpfs是一种虚拟内存文件系统, 它存储在VM(virtual memory)里面, VM是由linux内核里面的VM子系统管理,现在大多数操作系统都采用了虚拟内存(MMU)管理机制. linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小, swap的大小是个人决定的(通过硬盘虚拟出来了的).
为什么需要Swap: 当一个进程申请一定数量的内存时, 如内核的vm子系统发现没有足够的RM时, 就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从swap交换到RM里面. 如果你有足够大的物理内存, 根本不需要划分Swap分区.
VM由RM+Swap两部分组成, 因此tmpfs最大的存储空间可达The size of RM + The size of Swap但是对于tmpfs本身而言, 它并不知道自己使用的空间是RM还是Swap, 这一切都是由内核的VM子系统管理的.
命令格式:
# mount -t tmpfs -o size= 1024m tmpfs /mnt
分配了1G的空间挂载到/mnt目录下.
优点
- 大小随意分配
- 大小实际存储的容量而变化
- 不指定size大小是物理内存的一半
- 读写速度超级快的!!!
缺点
- 断电内容消失(sync不会写入到硬盘器)
自动挂载
配置/etc/fstab
tmpfs /mnt tmpfs size=1024m 0 0
Linux的内存器是在/dev/shm路径下, 文件系统类型为tmpfs, 默认的大小是实际物理内存的大小, 对这个路径操作就是内存器的操作