物理内存分配与回收

物理内存分配与回收

Swap分区

Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

系统的Swap分区大小设置多大才是最优,只能有一个统一的参考标准,具体还应该根据系统实际情况和内存的负荷综合考虑,像ORACLE的官方文档就推荐如下设置,这个是根据物理内存来做参考的。

  • 4G以内的物理内存,SWAP设置为内存的2倍。
  • 4 ~ 8G的物理内存,SWAP等于内存大小。
  • 8 ~ 64G的物理内存,SWAP设置为8G
  • 64 ~ 256G物理内存,SWAP设置为16G

我们可以使用 swapon -s 释放Swap分区,使用swapoff关闭交换分区,使用swapon启用交换分区,此时查看交换分区的使用情况,你会发现used0了。

上一页
下一页