【Linux下的Swap分区】
今天简单说下linux下的swap分区。
一、什么叫Swap分区
Swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。
二、Swap配置对性能的影响
Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。但是分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。
如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果系统物理内存不够用,网站打开会很慢,ping可能会丢包,延迟很大;如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。
三、swap分区的划分规则
在Linux中,我们对Swap分区的划分有一定的规则,当物理内存小于2G时,Swap分区大小为物理内存的2倍;超过2G的部分,Swap分区大小规划这里有一个公式。
公式如下:x代表物理内存,y代表Swap分区:
当x<2G 时,y=2x;
当2G<x<32G 时,y=4+(x-2);
当x>=32G 时,y<=x;
例:当物理内存为4G的时候,swap为4+(4-2)=6G;当物理内存大于32G的时候,swap分区小于等于物理内存比较好。
注意:规则不是一成不变的,所谓swap分区的划分没必要太过于死板,这里所说的规则仅供参考。
转载请注明:徐自远的乱七八糟小站 » 【Linux下的Swap分区】