linux之核心引數調優

2022-08-23 05:57:08 字數 4217 閱讀 9197

調優1

調優2調優3

調優4net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.tcp_max_tw_buckets = 5000

net.ipv4.tcp_mem = 786432 1048576 1572864

net.core.wmem_max = 873200

net.core.rmem_max = 873200

net.ipv4.tcp_wmem = 8192 436600 873200

net.ipv4.tcp_rmem = 32768 436600 873200

net.core.somaxconn = 256

net.core.netdev_max_backlog = 1000

net.ipv4.tcp_max_syn_backlog = 2048

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_keepalive_intvl = 30

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.conf.lo.arp_ignore = 0

net.ipv4.conf.lo.arp_announce = 0

net.ipv4.conf.all.arp_ignore = 0

net.ipv4.conf.all.arp_announce = 0

#下面是iptables相關

net.ipv4.ip_conntrack_max = 6553600

net.ipv4.netfilter.ip_conntrack_max = 6553600

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300

net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60

net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

net.ipv4.neigh.default.gc_thresh1 = 10240

net.ipv4.neigh.default.gc_thresh2 = 40960

net.ipv4.neigh.default.gc_thresh3 = 81920

幾個解釋:

net.ipv4.tcp_syncookies = 1

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

net.ipv4.tcp_tw_reuse = 1

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

net.ipv4.tcp_tw_recycle = 1

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

net.ipv4.tcp_fin_timeout = 30

#表示如果套接字由本端要求關閉,這個引數決定了它保持在fin-wait-2狀態的時間。

net.ipv4.tcp_keepalive_time = 1200 

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

net.ipv4.ip_local_port_range = 1024    65000 

#表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為1024到65000。

net.ipv4.tcp_max_tw_buckets = 5000

#表示系統同時保持time_wait套接字的最大數量,如果超過這個數字,

#time_wait套接字將立刻被清除並列印警告資訊。預設為180000,改為5000。

#對於apache、nginx等伺服器,上幾行的引數可以很好地減少time_wait套接字數量,

#但是對於squid,效果卻不大。此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。

相關引數說明:arp支援乙個sysctl介面,可以用以配置全域性引數或逐個網路介面地進行配製。該sysctl可以通過/proc/sys /net/ipv4/neigh/*/*檔案或者使用sysctl(2)介面來訪問。系統中每個介面都在/proc/sys/net/ipv4 /neigh/.中有自己的目錄。`default'目錄中的設定用於所有新建的裝置。sysctl相關的時間是以秒為單位,除非特別宣告過.

$ /proc/sys/net/core/wmem_max

最大socket寫buffer,可參考的優化值:873200

$ /proc/sys/net/core/rmem_max

最大socket讀buffer,可參考的優化值:873200

$ /proc/sys/net/ipv4/tcp_wmem

tcp寫buffer,可參考的優化值: 8192 436600 873200

$ /proc/sys/net/ipv4/tcp_rmem

tcp讀buffer,可參考的優化值: 32768 436600 873200

$ /proc/sys/net/ipv4/tcp_mem

同樣有3個值,意思是:

net.ipv4.tcp_mem[0]:低於此值,tcp沒有記憶體壓力.

net.ipv4.tcp_mem[1]:在此值下,進入記憶體壓力階段.

net.ipv4.tcp_mem[2]:高於此值,tcp拒絕分配socket.

上述記憶體單位是頁,而不是位元組.

可參考的優化值是:786432 1048576 1572864

$ /proc/sys/net/core/netdev_max_backlog

進入包的最大裝置佇列.預設是300,對重負載伺服器而言,該值太低,可調整到1000.

$ /proc/sys/net/core/somaxconn

listen()的預設引數,掛起請求的最大數量.預設是128.對繁忙的伺服器,增加該值有助於網路效能.

可調整到256.

$ /proc/sys/net/core/optmem_max

socket buffer的最大初始化值,預設10k.

$ /proc/sys/net/ipv4/tcp_max_syn_backlog

進入syn包的最大請求佇列.預設1024.對重負載伺服器,增加該值顯然有好處.

可調整到2048.

$ /proc/sys/net/ipv4/tcp_retries2

tcp失敗重傳次數,預設值15,意味著重傳15次才徹底放棄.可減少到5,以盡早釋放核心資源.

$ /proc/sys/net/ipv4/tcp_keepalive_time

$ /proc/sys/net/ipv4/tcp_keepalive_intvl

$ /proc/sys/net/ipv4/tcp_keepalive_probes

這3個引數與tcp keepalive有關.預設值是:

tcp_keepalive_time = 7200 seconds (2 hours)

tcp_keepalive_probes = 9

tcp_keepalive_intvl = 75 seconds

意思是如果某個tcp連線在idle 2個小時後,核心才發起probe.如果probe 9次(每次75秒)不成功,核心才徹底放棄,認為該連線已失效.對伺服器而言,顯然上述值太大. 可調整到:

/proc/sys/net/ipv4/tcp_keepalive_time 1800

/proc/sys/net/ipv4/tcp_keepalive_intvl 30

/proc/sys/net/ipv4/tcp_keepalive_probes 3

$ proc/sys/net/ipv4/ip_local_port_range

指定埠範圍的乙個配置,預設是32768 61000,已夠大.

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 ...

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 ...

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 ...