1. 程式人生 > >Linux核心部分引數優化解析

Linux核心部分引數優化解析

#kernel.shmall 引數是控制共享記憶體頁數,設定為8G,2097152*4k/1024/1024
kernel.shmall = 2097152
#表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,
#TIME_WAIT套接字將立刻被清除並列印警告資訊。預設為180000,改為5000。
net.ipv4.tcp_max_tw_buckets = 5000
#表示如果套接字由本端要求關閉,這個引數決定了它保持在FIN-WAIT-2狀態的時間。
net.ipv4.tcp_fin_timeout = 30
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
#表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為1024到65000。
net.ipv4.ip_local_port_range = 1024 65000
#1572864是允許所有tcp sockets用於排隊緩衝資料報的頁面量,超過這個頁面量,scoket將被拒絕
net.ipv4.tcp_mem = 786432 1048576 1572864
#核心套接字傳送緩衝區最大的大小
net.core.wmem_max = 873200
#核心套接字接收緩衝區最大的大小
net.core.rmem_max = 873200
#為自動調優定義socket使用的記憶體
#第一個值為socket傳送緩衝區分配的最少位元組數
net.ipv4.tcp_wmem = 8192 436600 873200
net.core.somaxconn = 256
#每個網路介面接收資料包的速率比核心處理這些包的速率快時,允許送到佇列的資料包的最大數目
net.core.netdev_max_backlog = 1000
#表示SYN佇列的長度,預設為1024,加大佇列長度為8192,可以容納更多等待連線的網路連線數。 
net.ipv4.tcp_max_syn_backlog = 8192
#控制核心向已建立連線的遠端主機重新發送資料的次數,降低此值,可以儘早的檢測連線失效
net.ipv4.tcp_retries2 = 5
#核心向遠端主機發送的保活探測的時間間隔
net.ipv4.tcp_keepalive_intvl = 30
#核心傳送保活探測的最大次數,如果探測次數大於這個數,則斷定遠端主機不可達,則關閉該連線並釋放>本地資源
net.ipv4.tcp_keepalive_probes = 3

#定義對目標地址為本地IP的ARP詢問不同的應答模式
#0 - (預設值): 迴應任何網路介面上對任何本地IP地址的arp查詢請求 
#1 - 只回答目標IP地址是來訪網路介面本地地址的ARP查詢請求 
#2 -只回答目標IP地址是來訪網路介面本地地址的ARP查詢請求,且來訪IP必須在該網路介面的子網段內
#3 - 不迴應該網路介面的arp請求,而只對設定的唯一和連線地址做出迴應 
#8 -不迴應所有(本地地址)的arp查詢
net.ipv4.conf.lo.arp_ignore = 0
#對網路介面上,本地IP地址的發出的,ARP迴應,作出相應級別的限制: 確定不同程度的限制,宣佈對來自>本地源IP地址發出Arp請求的介面 
#0 - (預設) 在任意網路介面(eth0,eth1,lo)上的任何本地地址 
#1 -儘量避免不在該網路介面子網段的本地地址做出arp迴應. 當發起ARP請求的源IP地址是被設定應該經由
路由達到此網路介面的時候很有用.此時會檢查來訪IP是否為所有介面上的子網段內ip之一.如果改來訪IP不
屬於各個網路介面上的子網段內,那麼將採用級別2的方式來進行處理. 
#2 - 對查詢目標使用最適當的本地地址.在此模式下將忽略這個IP資料包的源地址並嘗試選擇與能與該地址
通訊的本地地址.首要是選擇所有的網路介面的子網中外出訪問子網中包含該目標IP地址的本地地址. 如果>沒有合適的地址被發現,將選擇當前的傳送網路介面或其他的有可能接受到該ARP迴應的網路介面來進行傳送
net.ipv4.conf.lo.arp_announce = 0
#
net.ipv4.conf.all.arp_ignore = 0
#
net.ipv4.conf.all.arp_announce = 0