LINUX核心引數,針對TCP協議優化

2021-06-20 19:05:28 字數 1293 閱讀 4354

# 程序可以同時開啟的最大控制代碼數,限制最大併發連線數  

fs.file-max = 999999

# 允許time_wait狀態的socket重新用於新的tcp連線

net.ipv4.tcp_tw_reuse = 1

# 當keepalive啟用時,tcp傳送keepalive訊息的頻度,預設是2個小時。設定小些,可以盡快清理無效連線

net.ipv4.tcp_keepalive_time = 600

# 伺服器關閉連線時,socket保持在fin_wait-2狀態的最大時間

net.ipv4.tcp_fin_timeout = 30

# 表示os允許time_wait狀態的socket的最大值,預設是180000,過多time_wait狀態的socket會使機器變慢

net.ipv4.tcp_max_tw_buckets = 5000

# 定義了udp和tcp連線中本地埠的取值範圍

net.ipv4.ip_local_port_range = 1024 61000

# tcp接收快取(tcp接收滑動視窗)的最大值,預設值,最小值

net.ipv4.tcp_rmem = 4096 32768 262142

# tcp接傳送快取(tcp傳送滑動視窗)的最大值,預設值,最小值

net.ipv4.tcp_wmem = 4096 32768 262142

# 當網絡卡接收包的速度大於核心處理的速度時,儲存資料的佇列

net.core.netdev_max_backlog = 8096

# 核心socket接收快取區預設大小

net.core.rmem_default = 262144

# 核心socket傳送快取區預設大小

net.core.wmem_default = 262144

# 核心sockt接收快取區的最大大小

net.core.rmem_max = 2097152

# 核心socket傳送快取區的最大大小

net.core.wmem_max = 2097152

# 該引數和效能無關,用於解決tcp的syn攻擊

net.ipv4.tcp_syncookies = 1

# 表示tcp三次握手建立階段接收syn請求佇列的最大長度,預設是1024,

net.ipv4.tcp_max_syn_backlog = 1024

sysctl -p使上述修改生效

linux 核心引數

sysctl命令可以檢視和 動態地修改核心的執行引數,可用的核心引數在目錄 proc sys 中。sysctl命令對核心引數的修改僅在當前生效,重啟系統後引數丟失。如果希望引數永久生效可以修改配置檔案 etc sysctl.conf,修改後使用sysctl p生效。例子 net.ipv4.tcp s...

linux核心引數

net.ipv4.ip local port range 當核心版本小於3.2,決定的是客戶端的乙個 ip 可用的埠數量,即乙個 ip 最多只能建立 60k 多一點的連線 1025 65535 如果要突破這個限制需要客戶端 機器繫結多個 ip。當核心版本大於等於3.2,決定的是 socket 四元組...

優化Linux下的核心TCP引數以提高系統效能

那是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?答案是主動關閉的一方在傳送最後乙個ack後就會進入time wait狀態,並停留2msl max segment lifetime 時間,這個是tcp ip必不可...