亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

如何修改Linux內核參數vm.swappiness

瀏覽:109日期:2023-03-07 14:40:34
目錄
  • 修改Linux內核參數vm.swappiness
    • 調整vm.swappiness的方法
  • 了解vm.swappiness
    • 使用交換
    • vm.swappiness
    • 小結一下吧
  • 總結

    修改Linux內核參數vm.swappiness

    內核參數vm.swappiness控制換出運行時內存的相對權重,參數值大小對如何使用swap分區有很大聯系。

    值越大,表示越積極使用swap分區,越小表示越積極使用物理內存。

    默認值swappiness=60,表示內存使用率超過100-60=40%時開始使用交換分區。

    swappiness=0的時候表示最大限度使用物理內存,然后才是 swap空間;swappiness=100的時候表示積極使用swap分區,并把內存上的數據及時搬運到swap空間。(網上有的說,對于3.5以后的內核和RedHat 2.6.32之后的內核,設置為0會禁止使用swap,從而引發out of memory,這種情況可以設置為1。)

    需要根據服務器運行的程序類型,來設置不同的參數值。例如,對于Oracle一般設置為10;對于MySQL一般設置為1,盡可能不用swap分區。

    調整vm.swappiness的方法

    1、查看參數值:

    cat /proc/sys/vm/swappiness

    2、臨時調整:

    sysctl vm.swappiness = 10?
    cat /proc/sys/vm/swappiness

    3、永久調整:

    vi /etc/sysctl.conf?

    修改vm.swappiness=10

    然后加載參數:

    sysctl -p

    完畢。

    了解vm.swappiness

    Linux內核是一個相當復雜的軟件,具有許多組件,例如模塊,接口和配置文件[1]。

    些組件可以配置有特定值,以實現組件[2,3,4]的所需行為或操作模式。隨后,此設置將直接影響整個Linux系統的行為和性能。

    Linux內核及其組件的當前值可通過特殊接口/ proc目錄[5]進行訪問。這是一個虛擬文件系統,其中單個文件實時填充值。這些值表示Linux內核所處的實際狀態。

    您可以使用cat命令訪問/ proc目錄中的各個文件,如下所示:

    $ cat / proc / sys / net / core / somaxconn
    128
    $

    這些內核參數之一稱為vm.swappiness。它“控制從運行時內存中交換出來的相對權重,與從系統頁面緩存中刪除內存頁面相反” [6]。從Linux內核2.6版開始,引入了此值。它存儲在文件/ proc / sys / vm / swappiness中。

    使用交換

    在1990年代初期,使用swap [6]是使用小型UNIX計算機的重要組成部分。當討厭的內存泄漏干擾您的工作時,它仍然很有用(例如,在您的車輛中裝有備用輪胎)。機器將變慢,但在大多數情況下仍可用于完成其分配的任務。自由軟件開發人員一直在減少和消除程序錯誤方面取得了長足的進步,因此在更改內核參數之前,請先考慮將其更新為應用程序和相關庫的較新版本。

    如果您運行大量任務,則非活動任務將被換出到磁盤上,從而更好地利用了活動任務中的內存。視頻編輯和其他占用大量內存的應用程序通常建議使用一定數量的內存和磁盤空間。如果您有一臺無法升級內存的舊機器,那么提供更多的交換空間可能是一個不錯的臨時解決方案(有關更多信息,請參見[6])。

    交換可以發生在單獨的分區或交換文件上。該分區速度更快,并且受到許多數據庫應用程序的青睞。文件方法更加靈活(請參閱Debian GNU / Linux中的dphys-swapfile軟件包[7])。具有多個用于交換的物理設備允許Linux內核選擇最快速可用的設備(較低的延遲)。

    vm.swappiness

    vm.swappiness的默認值為60,它表示激活交換之前可用內存的百分比。值越低,使用的交換越少,并且物理內存中保留的內存頁越多。

    60的值是一個折衷方案,非常適合現代臺式機系統。建議將較小的值用于服務器系統。正如Red Hat Performance Tuning手冊指出的那樣[8],對于數據庫工作負載,建議使用較小的swappiness值。

    例如,對于Oracle數據庫,Red Hat建議將swappiness的值設置為10。相反,對于MariaDB數據庫,建議將swappiness的值設置為1 [9]。

    更改值直接影響Linux系統的性能。定義了這些值:

    • * 0:禁用交換
    • * 1:不完全禁用交換的最小數量
    • * 10:當系統中有足夠內存時為提高性能而推薦的值
    • * 100:主動交換

    如上所示,cat命令有助于讀取該值。同樣,sysctl命令為您提供相同的結果:

    #sysctl vm.swappiness
    vm.swappiness = 60
    #

    請記住,sysctl命令僅對管理用戶可用。要設置該值,請在/ proc文件系統中臨時設置該值,如下所示:

    ?;芈?10 > / PROC / SYS / VM / swappiness

    或者,您可以使用sysctl命令,如下所示:

    #的sysctl -w vm.swappiness = 10

    要永久設置該值,請以管理用戶身份打開文件/etc/sysctl.conf并添加以下行:

    vm.swappiness = 10

    小結一下吧

    越來越多的Linux用戶正在運行虛擬機。除了實際控制硬件的管理程序外,每個人都有其自己的內核。虛擬機具有為其創建的虛擬磁盤,因此更改虛擬機內部的設置將獲得不確定的結果。首先嘗試更改虛擬機管理程序內核的值,因為它實際上控制著計算機中的硬件。

    對于不再能夠升級的舊計算機(已經具有最大支持的內存),您可以考慮在計算機中放置一個小型固態磁盤,以將其用作其他交換設備。由于存儲單元因大量寫入而失敗,因此這顯然將成為一種消耗,但是可以以非常低的成本將機器的壽命延長一年或更長時間。與交換到普通磁盤相比,較低的延遲和快速讀取將提供更好的性能,從而為RAM提供中間結果。這應該允許您使用較低的vm.swappiness值以獲得最佳性能。您將不得不嘗試。SSD設備正在快速變化。

    如果您有多個交換設備,請考慮使其成為RAID設備以跨可用設備對數據進行條帶化。

    您可以在不重啟計算機的情況下更改交換性,這是與其他操作系統相比的一大優勢。

    嘗試僅包括您業務所需的服務。這將減少內存需求,提高性能并簡化一切。

    最后一點:您將為交換設備增加負載。您將需要監視它們的溫度。過熱的系統將降低其CPU頻率并降低速度。

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: Linux Apache
    主站蜘蛛池模板: 超91精品手机国产在线 | 欧美成亚洲 | 高清国产精品久久久久 | 欧美精品人爱a欧美精品 | 亚洲一区在线视频观看 | 久久国产成人精品麻豆 | 欧美日韩一区二区在线视频 | 在线观看国产精成人品 | 亚洲国产成人久久99精品 | 中文在线观看永久免费 | 草逼视频网址 | 国产免费资源高清小视频在线观看 | 朴妮唛1一30集福利在线播放 | 中文字幕无线码一区二区三区 | 亚洲国产经典 | www噜噜偷拍在线视频 | 老司机狠狠k免费毛片 | 91轻吻| 免费在线看黄的网站 | 欧美特黄a级高清免费看片 欧美特黄a级猛片a级 | 黄色一级片观看 | a级国产片免费观看 | 丁香婷婷综合五月综合色啪 | 亚洲这里只有精品 | 一区二区三区www | 日韩生活片 | 国产高清成人吃奶成免费视频 | 看黄色录像一级片 | 日韩 欧美 亚洲国产 | 亚色综合 | 国产亚洲精品自在久久77 | 亚洲国产午夜看片 | 国内精品久久久久久西瓜色吧 | 香蕉视频精品 | 在线免费看黄的网站 | 黄色一级视频片 | 青青草91视频 | 国产精品福利短视在线播放频 | 青草视频在线 | 成人无遮挡免费网站视频在线观看 | 国产免费一区二区三区在线观看 |