Linux SWAP 交換分區配置說明

來源:互聯網
上載者:User

一.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的值。

1.2 系統在什麼情況下才會使用SWAP?

實際上,並不是等所有的實體記憶體都消耗完畢之後,才去使用swap的空間,什麼時候使用是由swappiness 參數值控制。

[root@rhce ~]# cat /proc/sys/vm/swappiness

60

該值預設值是60.

swappiness=0的時候表示最大限度使用實體記憶體,然後才是 swap空間,

swappiness=100的時候表示積極的使用swap分區,並且把記憶體上的資料及時的搬運到swap空間裡面。

現在伺服器的記憶體動不動就是上百G,所以我們可以把這個參數值設定的低一些,讓作業系統儘可能的使用實體記憶體,降低系統對swap的使用,從而提高系統的效能。

1.3 如何修改swappiness參數?

--臨時性修改:

[root@rhce ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@rhce ~]# cat /proc/sys/vm/swappiness

10

這裡我們的修改已經生效,但是如果我們重啟了系統,又會變成60.

--永久修改:

在/etc/sysctl.conf 檔案裡添加如下參數:

vm.swappiness=10

或者:

[root@rhce ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf

儲存,重啟,就生效了。

  • 1
  • 2
  • 3
  • 4
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.