最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux 系統(tǒng)優(yōu)化的一些建議(內(nèi)核優(yōu)化)

 更新時(shí)間:2020年08月27日 14:38:44   作者:_江邊城外_  
這篇文章主要介紹了Linux 系統(tǒng)優(yōu)化的一些建議,幫助大家更好的使用Linux,感興趣的朋友可以了解下

關(guān)閉swap

如果服務(wù)器上有運(yùn)行數(shù)據(jù)庫服務(wù)或消息中間件服務(wù),請(qǐng)關(guān)閉交換分區(qū)

echo "vm.swappiness = 0" >> /etc/sysctl.conf
sysctl -p

OOM Killer

一般我們的linux服務(wù)都是混部服務(wù)的,每個(gè)程序申請(qǐng)的物理內(nèi)存都是共享的;例如物理內(nèi)存只有1g,啟動(dòng)2個(gè)程序各申請(qǐng)1g是可以的,linux通過這種過度分配的方式來達(dá)到內(nèi)存的充分利用,當(dāng)程序?qū)嶋H使用內(nèi)存超出物理內(nèi)存時(shí),會(huì)被系統(tǒng)按照優(yōu)先級(jí),殺掉一部分程序以確保其它程序的正常運(yùn)行;為了避免核心服務(wù)被殺,可以將進(jìn)程文件設(shè)置為最高優(yōu)先級(jí)。

# 數(shù)值越小越不容易被殺
echo -17 > /proc/$pid/oom_score_adj

TCP

因?yàn)槲覀兲峁┑臄?shù)據(jù)庫和一些消息中間件服務(wù)都是內(nèi)網(wǎng)工作的,所以可以針對(duì)內(nèi)網(wǎng)對(duì)TCP參數(shù)進(jìn)行一些優(yōu)化。

  • net.ipv4.tcp_syn_retries

默認(rèn)值為6,參考值為2。主機(jī)作為客戶端,對(duì)外發(fā)起TCP連接時(shí),即三次握手的第一步,內(nèi)核發(fā)送SYN報(bào)文的重試次數(shù),超過這個(gè)次數(shù)后放棄連接。內(nèi)網(wǎng)環(huán)境通信良好,因此可以適度降低此值

  • net.ipv4.tcp_synack_retries

默認(rèn)值為5,參考值為2。主機(jī)作為服務(wù)端,接受TCP連接時(shí),在三次握手的第二步,向客戶端發(fā)送SYN+ACK報(bào)文的重試次數(shù),超過這個(gè)次數(shù)后放棄連接。內(nèi)網(wǎng)環(huán)境中可適度降低此值

  • net.ipv4.tcp_timestamps

是否開啟時(shí)間戳,開啟后可以更精確地計(jì)算RTT,一些其他特性也依賴時(shí)間戳字段。

  • net.ipv4.tcp_tw_reuse

默認(rèn)值為0,建議值為1。是否允許將處于TIME_WAIT狀態(tài)的socket用于新的TCP連接。這對(duì)于降低TIME_WAIT數(shù)量很有效。該參數(shù)只有在開啟tcp_timestamps的情況下才會(huì)生效。

  • net.ipv4.tcp_tw_recycle

是否開啟TIME_WAIT套接字的快速回收,這是比tcp_tw_reuse更激進(jìn)的一種方式,它同樣依賴tcp_timestamps選項(xiàng)。強(qiáng)烈建議不要開啟tcp_tw_recycle,原因有兩點(diǎn),一是TIME_WAIT是十分必要的狀態(tài),避免關(guān)閉中的連接與新建連接之間的數(shù)據(jù)混淆,二是tcp_tw_recycle選項(xiàng)在NAT環(huán)境下會(huì)導(dǎo)致一些新建連接被拒絕,因?yàn)镹AT下每個(gè)主機(jī)存在時(shí)差,這體現(xiàn)在套接字中的時(shí)間戳字段,服務(wù)端會(huì)發(fā)現(xiàn)某個(gè)IP上的本應(yīng)遞增的時(shí)間戳出現(xiàn)降低的情況,時(shí)間戳相對(duì)降低的報(bào)文將被丟棄

  • net.core.somaxconn

默認(rèn)值為128,參考值為2048。定義了系統(tǒng)中每一個(gè)端口上最大的監(jiān)聽隊(duì)列的長度。當(dāng)服務(wù)端監(jiān)聽了某個(gè)端口時(shí),操作系統(tǒng)內(nèi)部完成對(duì)客戶端連接請(qǐng)求的三次握手。這些已建立的連接存儲(chǔ)在一個(gè)隊(duì)列中,等待accept調(diào)用取走。本選項(xiàng)就是定義這個(gè)隊(duì)列的長度。調(diào)大該值,可降低高并發(fā)場景下服務(wù)端的reject次數(shù)。

  • net.ipv4.tcp_max_syn_backlog

客戶端的請(qǐng)求在服務(wù)端由兩個(gè)隊(duì)列進(jìn)行管理,一種是與客戶端完成連接建立后,等待accept的放到一個(gè)隊(duì)列,這個(gè)隊(duì)列的長度由somaxconn參數(shù)控制;另一種是正在建立但未完成的連接單獨(dú)存放一個(gè)隊(duì)列,這個(gè)隊(duì)列的長度由tcp_max_syn_backlog控制;默認(rèn)128,調(diào)到至8192.

  • net.ipv4.tcp_max_tw_buckets

默認(rèn)值為4096,參考值為100000。定義系統(tǒng)同時(shí)保持TIME_WAIT套接字的最大數(shù)量,如果超過這個(gè)數(shù),則TIME_WAIT套接字將立刻被清除并打印警告信息。如果系統(tǒng)被TIME_WAIT過多問題困擾,則可以調(diào)節(jié)tcp_max_tw_buckets、tcp_tw_reuse、tcp_timestamps三個(gè)選項(xiàng)來緩解。TIME_WAIT狀態(tài)產(chǎn)生在TCP會(huì)話關(guān)閉時(shí)主動(dòng)關(guān)閉的一端,如果想從根本上解決問題,則讓客戶端主動(dòng)關(guān)閉連接,而非服務(wù)端。

page cache

page cache即系統(tǒng)臟頁,是系統(tǒng)的io緩存,當(dāng)數(shù)據(jù)寫入磁盤前會(huì)先寫入page cache中,然后異步刷入磁盤;寫緩存可以提升IO的訪問速度,但同時(shí)也會(huì)增加丟失數(shù)據(jù)的風(fēng)險(xiǎn)。

從page cache刷到磁盤有以下三種時(shí)機(jī):

  • 可用物理內(nèi)存低于特定閾值時(shí),為了給系統(tǒng)騰出空閑內(nèi)存;
  • 臟頁駐留時(shí)間超過特定閾值時(shí),為了避免臟頁無限期駐留內(nèi)存;
  • 被用戶的sync()或fsync()觸發(fā)。

由系統(tǒng)執(zhí)行的刷盤有兩種寫入策略:

  • 異步執(zhí)行刷盤,不阻塞用戶I/O;
  • 同步執(zhí)行刷盤,用戶I/O被阻塞,直到臟頁低于某個(gè)閾值。

在一般情況下,系統(tǒng)先執(zhí)行第一種策略,當(dāng)臟頁數(shù)據(jù)量過大,異步執(zhí)行來不及完成刷盤時(shí),切換到同步方式。

我們可以通過內(nèi)核參數(shù)調(diào)整臟數(shù)據(jù)的刷盤閾值:

  • vm.dirty_background_ratio,默認(rèn)值為10。該參數(shù)定義了一個(gè)百分比。當(dāng)內(nèi)存中的臟數(shù)據(jù)超過這個(gè)百分比后,系統(tǒng)使用異步方式刷盤。
  • vm.dirty_ratio,默認(rèn)值為30。同樣定義了一個(gè)百分比,當(dāng)內(nèi)存中的臟數(shù)據(jù)超過這個(gè)百分比后,系統(tǒng)使用同步方式刷盤,寫請(qǐng)求被阻塞,直到臟數(shù)據(jù)低于dirty_ratio。如果還高于dirty_background_ratio,則切換到異步方式刷盤。因此 dirty_ratio 應(yīng)高于dirty_background_ratio。

除了通過百分比控制,還可以指定過期時(shí)間:vm.dirty_expire_centisecs,默認(rèn)值為3000(30秒),單位為百分之1秒,超過這個(gè)時(shí)間后,臟數(shù)據(jù)被異步刷盤。

可以通過下面的命令查看系統(tǒng)當(dāng)前的臟頁數(shù)量:

cat /proc/vmstat |egrep "dirty|writeback"
nr_dirty 951
nr_writeback 0
nr_writeback_temp 0
#輸出顯示有951個(gè)臟頁等待寫到磁盤。默認(rèn)情況下每頁大小為4KB。另外,也可以在/proc/meminfo文件中看到這些信息。

如果數(shù)據(jù)安全性要求沒有那么高,想要多“cache”一些數(shù)據(jù),讓讀取更容易命中cache,則可以增加臟數(shù)據(jù)占比和過期時(shí)間:

vm.dirty_background_ratio = 30
vm.dirty_ratio = 60
vm.dirty_expire_centisecs = 6000

同理,如果不希望因?yàn)樗⒈P導(dǎo)致io被阻,可適當(dāng)減少異步刷盤的數(shù)值,這樣可以讓io更加平滑:

vm.dirty_background_ratio = 5
vm.dirty_ratio = 60

以上就是Linux 系統(tǒng)優(yōu)化的一些建議(內(nèi)核優(yōu)化)的詳細(xì)內(nèi)容,更多關(guān)于Linux 系統(tǒng)優(yōu)化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Centos8搭建配置nis域服務(wù)詳細(xì)步驟

    Centos8搭建配置nis域服務(wù)詳細(xì)步驟

    大家好,本篇文章主要講的是Centos8搭建配置nis域服務(wù)詳細(xì)步驟,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法

    Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法

    本篇文章主要介紹了Apache虛擬目錄配置及vue-cli反向代理的設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • linux系統(tǒng)下用戶管理相關(guān)介紹

    linux系統(tǒng)下用戶管理相關(guān)介紹

    大家好,本篇文章主要講的是linux系統(tǒng)下用戶管理相關(guān)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下哦,方便下次瀏覽
    2021-12-12
  • Linux磁盤空間不足的有效解決方法總結(jié)

    Linux磁盤空間不足的有效解決方法總結(jié)

    在使用 MySQL 數(shù)據(jù)庫時(shí),開發(fā)者和系統(tǒng)管理員可能會(huì)遇到各種錯(cuò)誤,其中之一便是 sqlalchemy.exc.InternalError,這個(gè)錯(cuò)誤提示表明,系統(tǒng)在嘗試向 /tmp 目錄寫入文件時(shí),發(fā)現(xiàn)沒有足夠的磁盤空間,所以本文給大家總結(jié)Linux磁盤空間不足的有效解決方法,需要的朋友可以參考下
    2024-11-11
  • Linux恢復(fù)刪除文件的lsof命令詳解

    Linux恢復(fù)刪除文件的lsof命令詳解

    Linux系統(tǒng)是服務(wù)器最常見的操作系統(tǒng),當(dāng)然也面臨著非常多的安全事件,當(dāng)發(fā)生刪除文件錯(cuò)誤的時(shí)候,恢復(fù)文件就尤為重要了,下面這篇文章主要介紹了Linux恢復(fù)刪除文件的lsof命令,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • Linux服務(wù)器自定義登陸提示信息方式

    Linux服務(wù)器自定義登陸提示信息方式

    Linux系統(tǒng)中,可以通過配置/etc/issue、/etc/issue.net和/etc/motd文件來設(shè)置登錄提示信息,便于用戶了解系統(tǒng)配置和文件路徑
    2024-11-11
  • Virtualbox安裝Lubuntu 18.04 64位的圖文教程

    Virtualbox安裝Lubuntu 18.04 64位的圖文教程

    這篇文章主要為大家詳細(xì)介紹了Virtualbox安裝Lubuntu 18.04 64位的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 在Linux配置自啟動(dòng)jar包方式

    在Linux配置自啟動(dòng)jar包方式

    這篇文章主要介紹了在Linux配置自啟動(dòng)jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Linux中實(shí)現(xiàn)光盤開機(jī)自動(dòng)掛載和配置本地yum源教程

    Linux中實(shí)現(xiàn)光盤開機(jī)自動(dòng)掛載和配置本地yum源教程

    在Linux系統(tǒng)中,光盤自動(dòng)掛載功能可以極大地方便用戶管理和訪問光盤數(shù)據(jù),本教程將逐步引導(dǎo)你完成光盤自動(dòng)掛載的設(shè)置過程,確保每次插入光盤時(shí),系統(tǒng)能夠自動(dòng)識(shí)別并掛載光盤,從而簡化文件訪問流程,需要的朋友可以參考下
    2024-03-03
  • Linux下防火墻的簡單配置與插入規(guī)則介紹

    Linux下防火墻的簡單配置與插入規(guī)則介紹

    這篇文章主要介紹了Linux下防火墻的簡單配置與插入規(guī)則介紹的相關(guān)資料,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

从江县| 清水县| 开化县| 博野县| 醴陵市| 万载县| 塘沽区| 密云县| 邻水| 稻城县| 扶沟县| 门头沟区| 桦川县| 吉林省| 婺源县| 红河县| 固原市| 舟曲县| 阿合奇县| 天镇县| 盘锦市| 乐平市| 贺州市| 阿坝县| 汾西县| 陆川县| 铁岭县| 获嘉县| 萨嘎县| 台东市| 榆中县| 吉隆县| 济宁市| 华阴市| 嘉义市| 上蔡县| 义乌市| 加查县| 崇明县| 西青区| 西吉县|