/proc/sys/net目錄
所有的tcp/ip引數都位於/proc/sys/net目錄下(請注意,對/proc/sys/net目錄下內容的修改都是臨時的,任何修改在系統重啟後都會丟失),例如下面這些重要的引數:
引數(路徑+檔案)
描述預設值
優化值/proc/sys/net/core/rmem_default
預設的tcp資料接收視窗大小(位元組)。
229376
256960
/proc/sys/net/core/rmem_max
最大的tcp資料接收視窗(位元組)。
131071
513920
/proc/sys/net/core/wmem_default
預設的tcp資料傳送視窗大小(位元組)。
229376
256960
/proc/sys/net/core/wmem_max
最大的tcp資料傳送視窗(位元組)。
131071
513920
/proc/sys/net/core/netdev_max_backlog
在每個網路介面接收資料報的速率比核心處理這些包的速率快時,允許送到佇列的資料報的最大數目。
1000
2000
/proc/sys/net/core/somaxconn
定義了系統中每乙個埠最大的監聽佇列的長度,這是個全域性的引數。
1282048
/proc/sys/net/core/optmem_max
表示每個套接字所允許的最大緩衝區的大小。
20480
81920
/proc/sys/net/ipv4/tcp_mem
確定tcp棧應該如何反映記憶體使用,每個值的單位都是記憶體頁(通常是4kb)。第乙個值是記憶體使用的下限;第二個值是記憶體壓力模式開始對緩衝區使用應用壓力的上限;第三個值是記憶體使用的上限。在這個層次上可以將報文丟棄,從而減少對記憶體的使用。對於較大的bdp可以增大這些值(注意,其單位是記憶體頁而不是位元組)。
94011 125351 188022
131072 262144 524288
/proc/sys/net/ipv4/tcp_rmem
為自動調優定義socket使用的記憶體。第乙個值是為socket接收緩衝區分配的最少位元組數;第二個值是預設值(該值會被rmem_default覆蓋),緩衝區在系統負載不重的情況下可以增長到這個值;第三個值是接收緩衝區空間的最大位元組數(該值會被rmem_max覆蓋)。
4096 87380 4011232
8760 256960 4088000
/proc/sys/net/ipv4/tcp_wmem
為自動調優定義socket使用的記憶體。第乙個值是為socket傳送緩衝區分配的最少位元組數;第二個值是預設值(該值會被wmem_default覆蓋),緩衝區在系統負載不重的情況下可以增長到這個值;第三個值是傳送緩衝區空間的最大位元組數(該值會被wmem_max覆蓋)。
4096 16384 4011232
8760 256960 4088000
/proc/sys/net/ipv4/tcp_keepalive_time
tcp傳送keepalive探測訊息的間隔時間(秒),用於確認tcp連線是否有效。
7200
1800
/proc/sys/net/ipv4/tcp_keepalive_intvl
探測訊息未獲得響應時,重發該訊息的間隔時間(秒)。
7530
/proc/sys/net/ipv4/tcp_keepalive_probes
在認定tcp連線失效之前,最多傳送多少個keepalive探測訊息。93
/proc/sys/net/ipv4/tcp_sack
啟用有選擇的應答(1表示啟用),通過有選擇地應答亂序接收到的報文來提高效能,讓傳送者只傳送丟失的報文段,(對於廣域網通訊來說)這個選項應該啟用,但是會增加對cpu的占用。11
/proc/sys/net/ipv4/tcp_fack
啟用**應答,可以進行有選擇應答(sack)從而減少擁塞情況的發生,這個選項也應該啟用。11
/proc/sys/net/ipv4/tcp_timestamps
tcp時間戳(會在tcp包頭增加12個位元組),以一種比重發超時更精確的方法(參考rfc 1323)來啟用對rtt 的計算,為實現更好的效能應該啟用這個選項。11
/proc/sys/net/ipv4/tcp_window_scaling
啟用rfc 1323定義的window scaling,要支援超過64kb的tcp視窗,必須啟用該值(1表示啟用),tcp視窗最大至1gb,tcp連線雙方都啟用時才生效。11
/proc/sys/net/ipv4/tcp_syncookies
表示是否開啟tcp同步標籤(syncookie),核心必須開啟了config_syn_cookies項進行編譯,同步標籤可以防止乙個套接字在有過多試圖連線到達時引起過載。11
/proc/sys/net/ipv4/tcp_tw_reuse
表示是否允許將處於time-wait狀態的socket(time-wait的埠)用於新的tcp連線 。01
/proc/sys/net/ipv4/tcp_tw_recycle
能夠更快地**time-wait套接字。01
/proc/sys/net/ipv4/tcp_fin_timeout
對於本端斷開的socket連線,tcp保持在fin-wait-2狀態的時間(秒)。對方可能會斷開連線或一直不結束連線或不可預料的程序死亡。
6030
/proc/sys/net/ipv4/ip_local_port_range
表示tcp/udp協議允許使用的本地埠號
32768 61000
1024 65000
/proc/sys/net/ipv4/tcp_max_syn_backlog
對於還未獲得對方確認的連線請求,可儲存在佇列中的最大數目。如果伺服器經常出現過載,可以嘗試增加這個數字。
2048
2048
/proc/sys/net/ipv4/tcp_low_latency
允許tcp/ip棧適應在高吞吐量情況下低延時的情況,這個選項應該禁用。
0/proc/sys/net/ipv4/tcp_westwood
啟用傳送者端的擁塞控制演算法,它可以維護對吞吐量的評估,並試圖對頻寬的整體利用情況進行優化,對於wan 通訊來說應該啟用這個選項。
0/proc/sys/net/ipv4/tcp_bic
為快速長距離網路啟用binary increase congestion,這樣可以更好地利用以gb速度進行操作的鏈結,對於wan通訊應該啟用這個選項。
1/etc/sysctl.conf檔案
/etc/sysctl.conf是乙個允許你改變正在執行中的linux系統的介面。它包含一些tcp/ip堆疊和虛擬記憶體系統的高階選項,可用來控制linux網路配置,由於/proc/sys/net目錄內容的臨時性,建議把tcpip引數的修改新增到/etc/sysctl.conf檔案, 然後儲存檔案,使用命令「/sbin/sysctl –p」使之立即生效。具體修改方案參照上文:
net.core.rmem_default = 256960
net.core.rmem_max = 513920
net.core.wmem_default = 256960
net.core.wmem_max = 513920
net.core.netdev_max_backlog = 2000
net.core.somaxconn = 2048
net.core.optmem_max = 81920
net.ipv4.tcp_mem = 131072 262144 524288
net.ipv4.tcp_rmem = 8760 256960 4088000
net.ipv4.tcp_wmem = 8760 256960 4088000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 2048
#系統非同步io建立例項數量修改
fs.aio-max-nr=262144
#最大程序數
kernel.pid_max = 65535
第一步:配置/etc/security/limits.conf
sudo vim /etc/security/limits.conf 檔案尾追加 * hard nofile 51200 * soft nofile 51200
第二步:/etc/pam.d/su(官方)或/etc/pam.d/common-session(網路)
sudo vim /etc/pam.d/su 將 pam_limits.so 這一行注釋去掉
第三步:配置/etc/profile
最後一行加上
ulimit -shn 51200
Linux之TCPIP核心引數
參考1.linux之tcpip核心引數優化 所有的tcp ip引數都位於 proc sys net目錄下 請注意,對 proc sys net目錄下內容的修改都是臨時的,任何修改在系統重啟後都會丟失 例如下面這些重要的引數 引數 路徑 檔案 描述預設值 優化值 proc sys net core r...
Linux下TCP IP核心引數優化
所有的tcp ip引數都位於 proc sys net目錄下 請注意,對 proc sys net目錄下內容的修改都是臨時的,任何修改在系統重啟後都會丟失 例如下面這些重要的引數 引數 路徑 檔案 描述預設值 優化值 proc sys net core rmem default 預設的tcp資料接收...
Linux核心 修改TCP IP調優引數
所有的tcp ip調優引數都位於 proc sys net 目錄.例如,下面是最重要的一些調優引數,後面是它們的含義 1.proc sys net core rmem max 最大的tcp資料接收緩衝 2.proc sys net core wmem max 最大的tcp資料傳送緩衝 3.proc ...