国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:143日期: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
    主站蜘蛛池模板: 亚欧成人一区二区 | 国产妇乱子伦视频免费 | 国产天堂在线一区二区三区 | 欧美高清亚洲欧美一区h | 国产精品亚洲综合天堂夜夜 | 亚洲欧美v视色一区二区 | 999国内精品永久免费视频 | 亚洲va久久久噜噜噜久久狠狠 | 毛片手机在线视频免费观看 | 久久精品亚洲一级毛片 | 亚洲欧洲日韩综合色天使不卡 | 97免费视频免费视频 | 美国aaaa一级毛片啊 | 国产原创一区二区 | 在线观看国产精品一区 | 农村寡妇野外情一级毛片 | 一个人的视频日本免费 | 久久久久久久岛国免费观看 | 国产精品99久久久久久人 | 成人性生免费视频 | 欧美成在线 | 午夜a毛片| 在线精品免费视频 | 日本aa级片 | 欧美日韩成人在线视频 | 一区二区三区视频网站 | 97精品久久久久中文字幕 | 日韩一区二区精品久久高清 | 中文字幕一区二区在线视频 | 成人午夜视频在线观 | 99免费精品 | 国产成 人 综合 亚洲绿色 | 国产成人福利夜色影视 | 国产手机在线视频 | 国产精品亚洲一区二区三区 | 国产精品欧美日韩一区二区 | 亚洲欧美精品国产一区色综合 | 亚洲精美视频 | 一区二区三区国产美女在线播放 | 国产看片一区二区三区 | 亚洲免费在线视频播放 |