Linux 下tempfs

Linux 下tempfs

tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化。
  它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。Linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。
  Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数
据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。
  VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
  tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M,一般情况下,是配置的小于物理内存大小的。tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。
  LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。

你可能感兴趣的:(Linux 下tempfs)