linux的swap分区方案

 

目前Red Hat推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系。不过在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍,如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB。其原因在于,系统中的物理内存越大, 对于内存的负荷可能也越大。

 

但是,如果物理内存大小扩展到数百GB,这样做就没什么意义。

 

系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。Red Hat Enterprise Linux 5可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时, 系统内核只会回收利用这些pagecache内存。

 

考虑到以下情况:

1)安装系统时难以确定内存的负荷,如何设置交换分区大小

2)系统中物理内存越大,所需交换分区就会越少

因此,在Red Hat Enterprise Linux 5中,以下是设置合适的交换分区大小的规则:

l      小于等于4G物理内存的系统,至少设置2GB的交换分区
* 4G
16G物理内存的系统,至少设置4GB的交换分区
* 16G
64G物理内存的系统,至少设置8GB的交换分区
* 64G
256G物理内存的系统,至少设置16GB的交换分区

 

l      具体一点,

      内存小于等于2G,swap分区是物理内存的1.5倍;

   内存大于2G且小于等于8G,swap分区等于物理内存的大小;

   内存大于8G小于等于16Gswap分区等于物理内存的。0.75倍。

     内存大于16G小于等于64Gswap分区等于物理内存的0.5倍。

     内存大于64G小于等于256Gswap分区等于物理内存的0.25倍。

 

本文参考http://icarusli.javaeye.com/blog/648320

    http://hi.baidu.com/dr_wang/blog/item/6fdd91135a994f095baf536f.html