linux 生產伺服器 核心優化

2021-09-11 14:47:06 字數 3841 閱讀 7146

net.ipv4.icmp_echo_ignore_broadcasts = 1

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

net.ipv4.tcp_syncookies = 1

#表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1

#表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1

#修改系統預設的 timeout 時間。

net.ipv4.tcp_fin_timeout = 30

#記錄的那些尚未收到客戶端確認資訊的連線請求的最大值。對於有128m記憶體的系統而言,預設值是1024,小記憶體的系統則是128。

net.ipv4.tcp_max_syn_backlog = 65536

#每個網路介面接收資料報的速率比核心處理這些包的速率快時,允許送到佇列的資料報的最大數目。

net.core.netdev_max_backlog = 32768

#表示當keepalive起用的時候,tcp傳送keepalive訊息的頻度。預設是2小時,改為20分鐘,單位是秒。

net.ipv4.tcp_keepalive_time = 1200

#如果對方不予應答,探測包的傳送次數

net.ipv4.tcp_keepalive_probes = 3

#keepalive探測包的傳送間隔

net.ipv4.tcp_keepalive_intvl = 15

#放棄回應乙個tcp連線請求前﹐需要進行多少次重試。rfc 規定最低的數值是3﹐這也是預設值﹐根據rto的值大約在3秒 - 8分鐘之間。(注意:這個值同時還決定進入的syn連線)

net.ipv4.tcp_retries1 = 3

# 控制核心向已經建立連線的遠端主機重新傳送資料的次數,低值可以更早的檢測到與遠端主機失效的連線,因此伺服器可以更快的釋放該連線,可以修改為5

net.ipv4.tcp_retries2 = 5

#時間戳可以避免序列號的捲繞。乙個1gbps的鏈路肯定會遇到以前用過的序列號。時間戳能夠讓核心接受這種「異常」的資料報。這裡需要將其關掉。

net.ipv4.tcp_timestsmps = 0

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

net.ipv4.tcp_synack_retries = 2

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

net.ipv4.tcp_syn_retries = 2

# 開啟重用。允許將time-wait sockets重新用於新的tcp連線。

net.ipv4.tcp_tw_reuse = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

# 開啟惡意icmp錯誤訊息保護

net.inet.udp.checksum=1

#防止不正確的udp包的攻擊

net.ipv4.netfilter.ip_conntrack_max=204800

#設定系統對最大跟蹤的tcp連線數的限制

#防止不正確的udp包的攻擊

net.inet.udp.checksum=1

# 避免放大攻擊

net.ipv4.icmp_echo_ignore_broadcasts = 1

# 開啟惡意icmp錯誤訊息保護

net.ipv4.icmp_ignore_bogus_error_responses = 1

# 開啟syn洪水攻擊保護

net.ipv4.tcp_syncookies = 1

# 開啟並記錄欺騙,源路由和重定向包

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.default.log_martians = 1

# 處理無源路由的包

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

# 開啟反向路徑過濾

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

# 確保無人能修改路由表

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

kernel.exec-shield = 1

kernel.randomize_va_space = 1

# 增加系統檔案描述符限制

fs.file-max = 65535

# 允許更多的pids

kernel.pid_max = 65536

net.core.netdev_max_backlog = 4096

# ipv4設定

net.ipv4.tcp_window_scaling = 1

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.tcp_max_tw_buckets = 4096

net.ipv4.tcp_keepalive_time = 20

net.ipv4.ip_forward = 0

# 增加tcp最大緩衝區大小

net.ipv4.tcp_mem = 192000 300000 732000

net.ipv4.tcp_rmem = 51200 131072 204800

net.ipv4.tcp_wmem = 51200 131072 204800

net.ipv4.tcp_keepalive_intvl = 5

net.ipv4.tcp_keepalive_probes = 2

net.ipv4.tcp_orphan_retries = 3

net.ipv4.tcp_syn_retries = 3

net.ipv4.tcp_synack_retries = 3

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_max_orphans = 2000

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

vm.min_free_kbytes=409600

vm.vfs_cache_pressure=200

vm.dirty_expire_centisecs = 1500

vm.dirty_writeback_centisecs = 1000

vm.dirty_ratio = 2

vm.dirty_background_ratio = 100

參考: linux核心 tcp/ip、socket引數調優

高併發下linux核心引數調整

Linux伺服器核心引數優化

kernel optimization root localhost vim etc sysctl.conf net.ipv4.tcp fin timeout 2 net.ipv4.tcp tw reuse 1 net.ipv4.tcp tw recycle 1 net.ipv4.tcp synco...

linux核心優化引數web伺服器

惆悵啊沒辦法,總監讓優化整個架構的核心引數,沒辦法就到處蒐集了一些整理到下面了。看下面引數我還是建議先看下 減少tcp 連線中的time wait sockets net.ipv4.tcp syncookies 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理...

Linux伺服器作業系統核心優化

linux系統管理員可能會經常遇到系統不穩定 響應速度慢等問題 作業系統完成乙個任務時,與系統自身設定 網路拓撲結構 路由裝置 路由策略 接入裝置 物理線路的多個方面都密切相關,任何乙個環節出現問題,都會影響整個系統的效能。因此當linux應用出現問題是,應當重應用程式 作業系統 伺服器硬體 網路環...