在Linux上使用tmpfs的技巧

tmpfs是一种基于内存的文件系统 , 安装后即可使用 , 下面小编将针对Linux tmpfs的用途及大小的调整做个详细介绍 , 有兴趣的朋友可以来了解下 。

在Linux上使用tmpfs的技巧


tmpfs介绍
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的用途
例如:
Oracle 中的Automatic Memory Management特性就使用了/dev/shm 。
LINUX中可以把一些程序的临时文件放置在tmpfs中 , 利用tmpfs比硬盘速度快的特点提升系统性能 。
上一页12下一页 剩下全文

    推荐阅读