Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Sysctl.conf 核心參數調優全集:提升 Linux 網路與記憶體效能

編輯:Linux 教學

sysctl 基礎操作


sysctl -a                 # 顯示所有可讀變數(500+)
sysctl kern.maxproc       # 讀取單一變數
sysctl -w kern.maxfiles=5000  # 臨時修改
vi /etc/sysctl.conf       # 永久配置
sysctl -p                 # 套用配置

值型態:字串、數字、布林 (1=on, 0=off)。

生產環境推薦 /etc/sysctl.conf 完整範本


# 核心安全與除錯
kernel.sysrq = 0
kernel.core_uses_pid = 1

# 共享記憶體(視需求啟用)
# kernel.shmmax = 67108864

# 網路核心參數
net.core.netdev_max_backlog = 1024
net.core.hot_list_length = 256
net.core.rmem_default = 65535
net.core.rmem_max = 8388608
net.core.wmem_default = 65535
net.core.wmem_max = 8388608
net.core.optmem_max = 40960

# IPv4 通用介面預設(all/lo/eth0 同步生效)
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.log_martians = 1

# TCP 連線優化
net.ipv4.tcp_fin_timeout = 25
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_reordering = 5
net.ipv4.tcp_max_tw_buckets = 360000

# TCP 緩衝區自動調整
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65535 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608

# ICMP 防護
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

# 本地埠範圍(視負載調整)
# net.ipv4.ip_local_port_range = 1024 65000

# 禁 Ping(視安全策略啟用)
# net.ipv4.icmp_echo_ignore_all = 1

關鍵參數解讀

參數作用建議值
tcp_syncookies防 SYN Flood 攻擊1
tcp_max_syn_backlog半連線佇列上限2048+
tcp_fin_timeoutTIME_WAIT 縮短25-30
tcp_keepalive_time空閒連線偵測間隔1200 (20min)
tcp_window_scaling支援大視窗 (高延遲鏈路)1
tcp_sack / tcp_fack選擇性確認,提升重傳效率1
tcp_timestampsRTT 精確測量、防序號繞回1
tcp_max_tw_bucketsTIME_WAIT 桶上限,防記憶體耗盡360000
netdev_max_backlog網卡輸入佇列,吸收突發流量1024+
rmem/wmem maxSocket 收發緩衝上限8388608 (8MB)
tcp_memTCP 整體記憶體壓力門檻同 wmem_max

調優原則

  1. 先測基準,再逐項調整,觀察 netstat -s、ss -s、sar -n TCP 指標。
  2. 高併發短連線場景重點調 tcp_max_syn_backlog、tcp_fin_timeout、tcp_tw_reuse(需核心支援)。
  3. 大流量長連線場景重點調 tcp_rmem/wmem、tcp_window_scaling、netdev_max_backlog。
  4. 所有修改建議先 sysctl -w 臨時驗證,確認無副作用再寫入 sysctl.conf。
Copyright © Windows教程網 All Rights Reserved