liunx Swap 分区的作用
1.1 SWAP 概述
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 Swap 空间中,等到那些程序要运行时,再从 Swap 中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行 Swap 交换。
这个是 SWAP 交换分区的作用。 实际上,我们更关注的应该是 SWAP 分区的大小问题。 设置多大才是最优的。
一般来说可以按照如下规则设置 swap 大小:
4G 以内的物理内存,SWAP 设置为内存的 2 倍。
4-8G 的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为 8G。
64-256G 物理内存,SWAP 设置为 16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置 SWAP 的值。
SWAP 就是 LINUX 下的虚拟内存分区, 它的作用是在物理内存使用完之后, 将磁盘空间 ( 也就是SWAP 分区) 虚拟成内存来使用.
它和Windows 系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。
需要注意的是, 虽然这个SWAP 分区能够作为 "虚拟" 的内存, 但它的速度比物理内存可是慢多了, 因此如果需要更快的速度的话, 并不能寄厚望于 SWAP, 最好的办法仍然是加大物理内存.SWAP 分区只是临时的解决办法.
交换分区(swap)的合理值一般在内存的 2 倍左右,可以适当加大。实际上具体还是以实际应用为准,swap 为内存的 2 倍也不过是一种以讹传讹的说法。如果交换分区的使用都超过 4GB 以上了,可想而知服务器的性能应该差很多了。
Linux 下可以创建两种类型的交换空间,一种是 swap 分区,一种是 swap 文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。