Swappiness:如何調整虛擬內存使用率

交換虛擬內存

在這裡 Ubunlog 我們致力於(或試圖致力於)所有用戶,其中包括非常不同的硬體配置。在某種程度上,我們喜歡認為,透過我們在這裡展示的教程,我們以某種方式為改善這個我們非常喜歡的發行版(無論其任何風格)的一般用戶體驗做出了貢獻,這就是我們經常發布指南的原因為了 獲得最佳性能 可能,尤其是在較普通的設備中。

現在,我們將不做任何進一步的展示 如何調整虛擬內存使用量 Ubuntu,這樣可以避免最終導致拖累,並使性能比沒有它的情況更糟。 事實是,儘管使用文件或交換分區的想法本身並不壞,但恰恰相反,但如果實施不當,則會導致過多使用硬盤,比使用硬盤慢得多。 RAM.

出於這個原因,交換分區的使用應僅限於沒有其他選擇的情況下使用,屆時它將支持主內存(RAM)。 相反,如果我們始終使用它,有時甚至在RAM之前使用它,我們的性能就會受到損害。 讓我們看看 如何使用Swappiness命令調整Linux中的虛擬內存使用率.

在我們的操作系統中,虛擬內存的創建通常在安裝過程中完成,這時我們定義根分區(/),存儲分區(/ home)和交換分區或 交換,通常在/ dev / sda5分區上實現。 管理虛擬內存使用的內核參數是前面提到的swappiness,基本上,我們可以說,它負責定義我們訪問交換分區的頻率以及將多少內容複製到該分區中,該參數在0和100。

Linux安裝中的默認值為60,但很容易假設,並非所有硬件配置都相同,因此無論使用哪種硬件,都無法維持該級別。 該值存儲在/ proc / sys / vm / swappiness文件中,我們可以通過以下方式對其進行檢查:

cat / proc / sys / vm / swappiness

幾乎肯定會是60,如果是這種情況,我們可能必須修改它,尤其是 如果我們有超過4 GB的RAM內存,因為在這種情況下,我們通常只需要很少或不需要虛擬內存。 但是在解釋如何修改它之前,讓我們先了解一下整個虛擬內存和交換特性背後的邏輯。 這是默認情況下將其保留為60時,內核被告知要在我們的RAM擁有其可用容量的40%或更少時去使用虛擬內存。 因此, 如果將swappiness設置為100,則虛擬內存將一直使用,如果我們將其保留為非常低的值,則僅在RAM即將用盡時使用。 最小值可能為1,因為將值保留為0,我們將完全停用虛擬內存.

所以我們要做的是從終端輸入以下命令(Ctrl + Alt + T):

須藤sysctl vm.swappiness = 10

現在的價值 swappiness將為10,然後將幾乎不使用虛擬內存。 更改此值後 無需重新啟動計算機,但立即生效,實際上,如果我們重設該值,則該值將像以前一樣位於60,因為我們需要的是永久保留此更改。 為此,一旦使用了計算機並驗證了swappiness的新值後一切都很好,我們將執行以下操作:

須藤nano /etc/sysctl.conf

之後,我們尋找文本vm.swappiness =並在“ =”符號後添加所需的值。 我們保存了文件,現在可以了,更改將是永久的。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   切斯夫洛 他說:

    很好的解釋! 很好的文章!! 就我而言,當我在重新啟動筆記本電腦時進行此更改時,它恢復為原始值60,就像文件已保存,但在重新啟動時是“格式化”的。 我已經嘗試了一切都沒有成功,您是否知道會發生什麼? 我有1GB的Ram。

    謝謝!

    1.    威利·克萊 他說:

      嗨César,很高興您發現它很有趣。

      如果該值在系統重新引導時丟失,我會查看/etc/rc.local和其他啟動腳本(根據每個發行版的不同而有所不同),因為這可能是在啟動時設置的。

      的問候!

  2.   帕斯誇爾·馬丁(Pascual Martin) 他說:

    很好的解釋!

    作為補充,這是有關Linux中的交換和交換的另一個有趣的話題:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   觀眾條件 他說:

    你不知道這對我有多好,謝謝

  4.   克萊里戈 他說:

    問候,

    在我的/etc/sysctl.conf文件中不是vm.swappiness =文本,我找的很好,文件很小。 除非必須添加它,否則文章會說查找和修改值,而不是添加行。

  5.   劉易斯 他說:

    問候,

    在我的/etc/sysctl.conf文件中沒有vm.swappiness = text。 除非必須添加它,否則文章會說查找和修改值,而不是添加行。

  6.   諾斯費拉圖斯 他說:

    您必須創建它,在文件末尾放置vm.swappiness = 10就是這樣。

    如果重啟後無法保存,則可能是因為您未使用sudo命令。

    Ubuntu:sudo gedit /etc/sysctl.conf
    Xubuntu:sudo鼠標墊/etc/sysctl.conf

  7.   聖地亞哥 他說:

    優秀的文章。 謝謝!

  8.   羅伯托 他說:

    您可以輸入零。 會出現什麼問題?

  9.   何塞·卡斯蒂略·阿瓦洛斯 他說:

    您好,謝謝Willy Clew的文章,它使我清楚地知道了使用swapp內存的過程,但是這引起了我很大的疑問,因為在進入終端並執行您指定的命令時,它返回以下消息:

    bash:cat / proc / sys / vm / swappiness:文件或目錄不存在

    是什麼原因造成的?

    1.    安德烈斯·喬克·洛佩茲 他說:

      你寫得不好您沒有在“貓”後面加上空格。

  10.   冰激凌 他說:

    太好了,我們在西班牙語的ubuntu小組中分享了它 https://t.me/ubuntu_es

  11.   史密斯 他說:

    太棒了,它在Debian 10.9上為我工作

  12.   約翰 他說:

    我是一名計算機科學家,我已經安裝並測試了多個發行版,配置 swappiness 的最佳選擇是在終端中編寫

    須藤nano /etc/sysctl.conf

    按回車後寫鍵並再次輸入,然後在最後寫下一行

    vm.swappiness = 0

    然後同時按 ctrl 和 x 鍵,他會生成一個問題,如果您想將新句子保存在文件中,請按 Y 鍵說是和 n 以便它不保存它

    為什麼我寫零 0? 這些測試已經在我編程的不同 PC 上完成,因為這是最好的選擇,因為它使用了分頁,但例如,如果通過打開 Facebook 來打開 Chrome 或瀏覽器,因為交換內存(交換或也稱為分頁)將增加但是當它關閉會話和瀏覽器或任何程序時,因為分頁內存(swap)會減少釋放硬盤,這有助於避免損壞它,請記住交換內存或稱為分頁(swap)使用硬盤。

  13.   諾貝托·岡薩雷斯 他說:

    沒看懂,抱歉。 如果默認是60激活swap,缺少40或更少,當參數設置為10時,不是用90的空閒內存激活嗎? 通過減慢數據交換