交換分區(SWAP)的大小分配


什么是swap space(交換空間)?

交換分區(swap space)是一定磁盤空間(分區或文件),用於將部分內存中的數據換下來,以騰出內存空間用於其他需求。在一個系統中,物理內存的容量是有限的,當物理內存快使用完時,操作系統會使用交換分區(如果有的話)。當系統內存使用緊張時,操作系統根據一定的算法規則,將一部分最近沒使用的內存頁面保存到交換分區,從而為需要內存的程序留出足夠的內存空間;在SWAP中的內存頁面被訪問到時,系統會將其重新載入到物理內存中去運行。

swap in (換入):是指頁面從交換分區轉移到內存之中;
swap out (換出):是指頁面從從內存轉移到交換分區中。
(這里的in/out是站在內存的角度來說的,就好理解了。)

在Windows、Unix、Linux系統中都有交換分區的概念。

Linux中的交換分區的大小分配推薦法則

曾經,有人推薦使用物理內存1/2、1倍、2倍的容量作為SWAP分區的大小。隨着計算機內容容量的增大,如果有16G內存的機器,分個16G的Swap空間,似乎感覺有點浪費磁盤空間,而且多數情況下用處也並不大。在Linux系統,我們可以參照Redhat公司為RHEL5、RHEL6推薦的SWAP空間的大小划分原則,在你沒有其他特別需求時,可以作為很好的參考依據。

內存小於4GB時,推薦不少於2GB的swap空間;

內存4GB~16GB,推薦不少於4GB的swap空間;

內存16GB~64GB,推薦不少於8GB的swap空間;

內存64GB~256GB,推薦不少於16GB的swap空間。

  • 4GB of RAM requires a minimum of 2GB of swap space
  • 4GB to 16GB RAM requires a minimum of 4GB of swap space
  • 16GB to 64GB of RAM requires a minimum of 8GB of swap space
  • 64GB to 256GB of RAM requires a minimum of 16GB of swap space

Linux中查看swap的命令

可以用“cat /proc/swaps”、“swapon -s”、“free”等命令查看Swap分區的情況。

根據上面的例子,我其實該分配4GB的Swap空間,這里演示的是2GB(可能不太符合Redhat的推薦值,因為本機使用內存量並不會太大,幾乎沒有使用Swap的情況)。

參考閱讀:
swap的分配(包括LVM中的SWAP分配):
http://www.techotopia.com/index.php/Adding_and_Managing_RHEL_6_Swap_Space
RHEL5中swap: http://tech.groups.yahoo.com/group/redhat/message/19480


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM