国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

如何修改Linux內(nèi)核參數(shù)vm.swappiness

瀏覽:149日期:2023-03-07 14:40:34
目錄
  • 修改Linux內(nèi)核參數(shù)vm.swappiness
    • 調(diào)整vm.swappiness的方法
  • 了解vm.swappiness
    • 使用交換
    • vm.swappiness
    • 小結(jié)一下吧
  • 總結(jié)

    修改Linux內(nèi)核參數(shù)vm.swappiness

    內(nèi)核參數(shù)vm.swappiness控制換出運(yùn)行時(shí)內(nèi)存的相對(duì)權(quán)重,參數(shù)值大小對(duì)如何使用swap分區(qū)有很大聯(lián)系。

    值越大,表示越積極使用swap分區(qū),越小表示越積極使用物理內(nèi)存。

    默認(rèn)值swappiness=60,表示內(nèi)存使用率超過100-60=40%時(shí)開始使用交換分區(qū)。

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

    需要根據(jù)服務(wù)器運(yùn)行的程序類型,來設(shè)置不同的參數(shù)值。例如,對(duì)于Oracle一般設(shè)置為10;對(duì)于MySQL一般設(shè)置為1,盡可能不用swap分區(qū)。

    調(diào)整vm.swappiness的方法

    1、查看參數(shù)值:

    cat /proc/sys/vm/swappiness

    2、臨時(shí)調(diào)整:

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

    3、永久調(diào)整:

    vi /etc/sysctl.conf?

    修改vm.swappiness=10

    然后加載參數(shù):

    sysctl -p

    完畢。

    了解vm.swappiness

    Linux內(nèi)核是一個(gè)相當(dāng)復(fù)雜的軟件,具有許多組件,例如模塊,接口和配置文件[1]。

    些組件可以配置有特定值,以實(shí)現(xiàn)組件[2,3,4]的所需行為或操作模式。隨后,此設(shè)置將直接影響整個(gè)Linux系統(tǒng)的行為和性能。

    Linux內(nèi)核及其組件的當(dāng)前值可通過特殊接口/ proc目錄[5]進(jìn)行訪問。這是一個(gè)虛擬文件系統(tǒng),其中單個(gè)文件實(shí)時(shí)填充值。這些值表示Linux內(nèi)核所處的實(shí)際狀態(tài)。

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

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

    這些內(nèi)核參數(shù)之一稱為vm.swappiness。它“控制從運(yùn)行時(shí)內(nèi)存中交換出來的相對(duì)權(quán)重,與從系統(tǒng)頁面緩存中刪除內(nèi)存頁面相反” [6]。從Linux內(nèi)核2.6版開始,引入了此值。它存儲(chǔ)在文件/ proc / sys / vm / swappiness中。

    使用交換

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

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

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

    vm.swappiness

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

    60的值是一個(gè)折衷方案,非常適合現(xiàn)代臺(tái)式機(jī)系統(tǒng)。建議將較小的值用于服務(wù)器系統(tǒng)。正如Red Hat Performance Tuning手冊(cè)指出的那樣[8],對(duì)于數(shù)據(jù)庫工作負(fù)載,建議使用較小的swappiness值。

    例如,對(duì)于Oracle數(shù)據(jù)庫,Red Hat建議將swappiness的值設(shè)置為10。相反,對(duì)于MariaDB數(shù)據(jù)庫,建議將swappiness的值設(shè)置為1 [9]。

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

    • * 0:禁用交換
    • * 1:不完全禁用交換的最小數(shù)量
    • * 10:當(dāng)系統(tǒng)中有足夠內(nèi)存時(shí)為提高性能而推薦的值
    • * 100:主動(dòng)交換

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

    #sysctl vm.swappiness
    vm.swappiness = 60
    #

    請(qǐng)記住,sysctl命令僅對(duì)管理用戶可用。要設(shè)置該值,請(qǐng)?jiān)? proc文件系統(tǒng)中臨時(shí)設(shè)置該值,如下所示:

    #回聲 10 > / PROC / SYS / VM / swappiness

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

    #的sysctl -w vm.swappiness = 10

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

    vm.swappiness = 10

    小結(jié)一下吧

    越來越多的Linux用戶正在運(yùn)行虛擬機(jī)。除了實(shí)際控制硬件的管理程序外,每個(gè)人都有其自己的內(nèi)核。虛擬機(jī)具有為其創(chuàng)建的虛擬磁盤,因此更改虛擬機(jī)內(nèi)部的設(shè)置將獲得不確定的結(jié)果。首先嘗試更改虛擬機(jī)管理程序內(nèi)核的值,因?yàn)樗鼘?shí)際上控制著計(jì)算機(jī)中的硬件。

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

    如果您有多個(gè)交換設(shè)備,請(qǐng)考慮使其成為RAID設(shè)備以跨可用設(shè)備對(duì)數(shù)據(jù)進(jìn)行條帶化。

    您可以在不重啟計(jì)算機(jī)的情況下更改交換性,這是與其他操作系統(tǒng)相比的一大優(yōu)勢。

    嘗試僅包括您業(yè)務(wù)所需的服務(wù)。這將減少內(nèi)存需求,提高性能并簡化一切。

    最后一點(diǎn):您將為交換設(shè)備增加負(fù)載。您將需要監(jiān)視它們的溫度。過熱的系統(tǒng)將降低其CPU頻率并降低速度。

    總結(jié)

    以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。

    標(biāo)簽: Linux Apache
    主站蜘蛛池模板: 溧阳市| 芦山县| 清徐县| 武邑县| 耿马| 望都县| 十堰市| 松阳县| 芮城县| 元阳县| 龙南县| 蒙城县| 松原市| 石城县| 金堂县| 汤阴县| 曲麻莱县| 普陀区| 湖北省| 乐清市| 枣阳市| 清河县| 兴宁市| 望江县| 高阳县| 中方县| 隆昌县| 太保市| 瑞昌市| 乐陵市| 呈贡县| 涞源县| 巴青县| 乐业县| 湖口县| 西城区| 安庆市| 凤阳县| 玛沁县| 甘肃省| 葫芦岛市|