目前Red Hat推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系。不过在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍,如果内 存大小多于2GB,交换分区大小应该是物理内存大小加上2GB。其原因在于,系统中的物理内存越大, 对于内存的负荷可能也越大。
 
但是,如果物理内存大小扩展到数百GB,这样做就没什么意义了。
 
实 际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。Red Hat Enterprise Linux 5可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页 锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时, 系统内核只会回收利用这些pagecache内存。
 
考虑到以下情况:
1)安装系统时难以确定内存的负荷,如何设置交换分区大小
2)系统中物理内存越大,所需交换分区就会越少
因此,在Red Hat Enterprise Linux 5中,以下是设置合适的交换分区大小的规则:
 
  • 小于等于4G物理内存的系统,至少设置2GB的交换分区
  • 4G~16G物理内存的系统,至少设置4GB的交换分区
  • 16G~64G物理内存的系统,至少设置8GB的交换分区
  • 64G~256G物理内存的系统,至少设置16GB的交换分区