Linux核心調優部分引數說明

2022-08-02 04:30:15 字數 2601 閱讀 7887

#接收套接字緩衝區大小的預設值(以位元組為單位)。

net.core.rmem_default = 262144

#接收套接字緩衝區大小的最大值(以位元組為單位)。

net.core.rmem_max = 16777216

#傳送套接字緩衝區大小的預設值(以位元組為單位)。

net.core.wmem_default = 262144

#傳送套接字緩衝區大小的最大值(以位元組為單位)。

net.core.wmem_max = 16777216

#用來限制監聽(listen)佇列最大資料報的數量,超過這個數量就會導致鏈結超時或者觸發重傳機制。

net.core.somaxconn = 262144

#當網絡卡接收資料報的速度大於核心處理的速度時,會有乙個佇列儲存這些資料報。這個引數表示該佇列的最大值。

net.core.netdev_max_backlog = 262144

#表示系統中最多有多少tcp套接字不被關聯到任何乙個使用者檔案控制代碼上。如果超過這裡設定的數字,連線就會復位並輸出警告資訊。這個限制僅僅是為了防止簡單的dos攻擊。此值不能太小。

net.ipv4.tcp_max_orphans = 262144

#表示那些尚未收到客戶端確認資訊的連線(syn訊息)佇列的長度,預設為1024,加大佇列長度為262144,可以容納更多等待連線的網路連線數。

net.ipv4.tcp_max_syn_backlog = 262144

#表示系統同時保持time_wait套接字的最大數量。如果超過此數,time_wait套接字會被立刻清除並且列印警告資訊。之所以要設定這個限制,純粹為了抵禦那些簡單的dos攻擊,不過,過多的time_wait套接字也會消耗伺服器資源,甚至宕機。

net.ipv4.tcp_max_tw_buckets = 10000

#表示允許系統開啟的埠範圍。

net.ipv4.ip_local_port_range = 1024 65500

#以下兩引數可解決生產場景中大量連線的伺服器中time_wait過多問題。

#表示開啟tcp連線中time_wait套接字的快速**,預設為0,表示關閉。

net.ipv4.tcp_tw_recycle = 1

#表示允許重用time_wait狀態的套接字用於新的tcp連線,預設為0,表示關閉。

net.ipv4.tcp_tw_reuse = 1

#當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉。

net.ipv4.tcp_syncookies = 1

#表示系統允許syn連線的重試次數。為了開啟對端的連線,核心需要傳送乙個syn並附帶乙個回應前面乙個syn的ack包。也就是所謂三次握手中的第二次握手。這個設定決定了核心放棄連線之前傳送syn+ack包的數量。

net.ipv4.tcp_synack_retries = 1

#表示在核心放棄建立連線之前傳送syn包的數量。

net.ipv4.tcp_syn_retries = 1

#減少處於fin-wait-2連線狀態的時間,使系統可以處理更多的連線。

net.ipv4.tcp_fin_timeout = 30

#這個引數表示當keepalive啟用時,tcp傳送keepalive訊息的頻度。預設是2小時,若將其設定得小一些,可以更快地清理無效的連線。

net.ipv4.tcp_keepalive_time = 600

#探測訊息未獲得響應時,重發該訊息的間隔時間(秒)。系統預設75秒。

net.ipv4.tcp_keepalive_intvl = 30

#在認定連線失效之前,傳送多少個tcp的keepalive探測包。系統預設值是9。這個值乘以tcp_keepalive_intvl之後決定了,乙個連線傳送了keepalive探測包之後可以有多少時間沒有回應。

net.ipv4.tcp_keepalive_probes = 3

# 確定tcp棧應該如何反映記憶體使用,每個值的單位都是記憶體頁(通常是4kb)。第乙個值是記憶體使用的下限;第二個值是記憶體壓力模式開始對緩衝區使用應用壓 力的上限;第三個值是記憶體使用的上限。在這個層次上可以將報文丟棄,從而減少對記憶體的使用。示例中第乙個值為786432*4/1024 /1024=3g,第二個值為1048576*4/1024/1024=4g,第三個值為1572864*4/1024/1024=6g。

net.ipv4.tcp_mem = 786432 1048576 1572864

#此引數限制併發未完成的非同步請求數目,應該設定避免i/o子系統故障。

fs.aio-max-nr = 1048576

#該引數決定了系統中所允許的檔案控制代碼最大數目,檔案控制代碼設定代表linux系統中可以開啟的檔案的數量。

fs.file-max = 6815744

#第一列,表示每個訊號集中的最大訊號量數目。

#第二列,表示系統範圍內的最大訊號量總數目。

#第三列,表示每個訊號發生時的最大系統運算元目。

#第四列,表示系統範圍內的最大訊號集總數目。

#(第一列)*(第四列)=(第二列)

kernel.sem = 250 32000 100 128

#表示盡量使用記憶體,減少使用磁碟swap交換分割槽,記憶體速度明顯高於磁碟乙個數量級。

**

Linux核心調優部分引數說明

接收套接字緩衝區大小的預設值 以位元組為單位 net.core.rmem default 262144 接收套接字緩衝區大小的最大值 以位元組為單位 net.core.rmem max 16777216 傳送套接字緩衝區大小的預設值 以位元組為單位 net.core.wmem default 262...

Linux核心調優部分引數說明

接收套接字緩衝區大小的預設值 以位元組為單位 net.core.rmem default 262144 接收套接字緩衝區大小的最大值 以位元組為單位 net.core.rmem max 16777216 傳送套接字緩衝區大小的預設值 以位元組為單位 net.core.wmem default 262...

Linux核心調優部分引數說明

接收套接字緩衝區大小的預設值 以位元組為單位 net.core.rmem default 262144 接收套接字緩衝區大小的最大值 以位元組為單位 net.core.rmem max 16777216 傳送套接字緩衝區大小的預設值 以位元組為單位 net.core.wmem default 262...