婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux 系統(tǒng)優(yōu)化的一些建議(內核優(yōu)化)

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

熱門標簽:濟源電話外呼系統(tǒng)怎么樣 宿州防封外呼系統(tǒng)廠家 高德地圖標注在建線路 ai電銷機器人 如何開發(fā) 電銷機器人對公司貢獻 山東400電話如何辦理 蘭州語音電銷機器人軟件 智能外呼系統(tǒng)如何部署 電話機器人服務差

關閉swap

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

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

OOM Killer

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

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

TCP

因為我們提供的數(shù)據(jù)庫和一些消息中間件服務都是內網(wǎng)工作的,所以可以針對內網(wǎng)對TCP參數(shù)進行一些優(yōu)化。

  • net.ipv4.tcp_syn_retries

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

  • net.ipv4.tcp_synack_retries

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

  • net.ipv4.tcp_timestamps

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

  • net.ipv4.tcp_tw_reuse

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

  • net.ipv4.tcp_tw_recycle

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

  • net.core.somaxconn

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

  • net.ipv4.tcp_max_syn_backlog

客戶端的請求在服務端由兩個隊列進行管理,一種是與客戶端完成連接建立后,等待accept的放到一個隊列,這個隊列的長度由somaxconn參數(shù)控制;另一種是正在建立但未完成的連接單獨存放一個隊列,這個隊列的長度由tcp_max_syn_backlog控制;默認128,調到至8192.

  • net.ipv4.tcp_max_tw_buckets

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

page cache

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

從page cache刷到磁盤有以下三種時機:

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

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

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

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

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

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

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

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

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

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

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

同理,如果不希望因為刷盤導致io被阻,可適當減少異步刷盤的數(shù)值,這樣可以讓io更加平滑:

vm.dirty_background_ratio = 5
vm.dirty_ratio = 60

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

標簽:畢節(jié) 衡水 晉中 巴中 南寧 安陽 佛山 云南

巨人網(wǎng)絡通訊聲明:本文標題《Linux 系統(tǒng)優(yōu)化的一些建議(內核優(yōu)化)》,本文關鍵詞  Linux,系統(tǒng),優(yōu)化,的,一些,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux 系統(tǒng)優(yōu)化的一些建議(內核優(yōu)化)》相關的同類信息!
  • 本頁收集關于Linux 系統(tǒng)優(yōu)化的一些建議(內核優(yōu)化)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 呼伦贝尔市| 喀喇沁旗| 宁晋县| 渑池县| 洪雅县| 阿合奇县| 西和县| 乌拉特后旗| 神木县| 保德县| 谷城县| 黑河市| 长沙县| 托克托县| 平塘县| 兴义市| 锦州市| 新密市| 若尔盖县| 察隅县| 多伦县| 中牟县| 乐亭县| 广州市| 枣强县| 府谷县| 安顺市| 图木舒克市| 凌云县| 苏州市| 中西区| 凤冈县| 齐齐哈尔市| 彰化县| 贡嘎县| 正镶白旗| 当阳市| 徐闻县| 竹山县| 建阳市| 连山|