######################## cat /proc/sys/net/ipv4/tcp_syncookies
//默認(rèn)值:1
//作用:是否打開(kāi)SYN Cookie功能,該功能可以防止部分SYN***
net.ipv4.tcp_syncookies = 1
######################## cat /proc/sys/net/ipv4/ip_local_port_range
//默認(rèn)值:32768 61000
//作用:可用端口的范圍
net.ipv4.ip_local_port_range = 1024 65535
######################## cat /proc/sys/net/ipv4/tcp_fin_timeout
//默認(rèn)值:60
//作用:TCP時(shí)間戳
net.ipv4.tcp_fin_timeout = 30
######################## cat /proc/sys/net/ipv4/tcp_timestamps
//默認(rèn)值:1
//作用:TCP時(shí)間戳
net.ipv4.tcp_timestamps = 1
######################## cat /proc/sys/net/ipv4/tcp_tw_recycle
//默認(rèn)值:0
//作用:針對(duì)TIME-WAIT唱矛,不要開(kāi)啟场钉。不少文章提到同時(shí)開(kāi)啟tcp_tw_recycle和tcp_tw_reuse,會(huì)帶來(lái)C/S在NAT方面的異常
// 個(gè)人接受的做法是瞭空,開(kāi)啟tcp_tw_reuse甘邀,增加ip_local_port_range的范圍顶籽,減小tcp_max_tw_buckets和tcp_fin_timeout的值
// 參考:http://ju.outofmemory.cn/entry/91121, http://www.cnblogs.com/lulu/p/4149312.html
net.ipv4.tcp_tw_recycle = 0
######################## cat /proc/sys/net/ipv4/tcp_tw_reuse
//默認(rèn)值:0
//作用:針對(duì)TIME-WAIT葵腹,做為客戶端可以啟用(例如,作為nginx-proxy前端代理屿岂,要訪問(wèn)后端的服務(wù))
net.ipv4.tcp_tw_reuse = 1
######################## cat /proc/sys/net/ipv4/tcp_max_tw_buckets
//默認(rèn)值:262144
//作用:針對(duì)TIME-WAIT践宴,配置其上限。如果降低這個(gè)值爷怀,可以顯著的發(fā)現(xiàn)time-wait的數(shù)量減少阻肩,但系統(tǒng)日志中可能出現(xiàn)如下記錄:
kernel: TCP: time wait bucket table overflow
// 對(duì)應(yīng)的,如果升高這個(gè)值运授,可以顯著的發(fā)現(xiàn)time-wait的數(shù)量增加烤惊。
// 綜合考慮,保持默認(rèn)值吁朦。
net.ipv4.tcp_max_tw_buckets = 262144
######################## cat /proc/sys/net/ipv4/tcp_max_orphans
//默認(rèn)值:16384
//作用:orphans的最大值
net.ipv4.tcp_max_orphans = 3276800
######################## cat /proc/sys/net/ipv4/tcp_max_syn_backlog
//默認(rèn)值:128
//作用:增大SYN隊(duì)列的長(zhǎng)度柒室,容納更多連接
net.ipv4.tcp_max_syn_backlog = 819200
######################## cat /proc/sys/net/ipv4/tcp_keepalive_intvl
//默認(rèn)值:75
//作用:探測(cè)失敗后,間隔幾秒后重新探測(cè)
net.ipv4.tcp_keepalive_intvl = 30
######################## cat /proc/sys/net/ipv4/tcp_keepalive_probes
//默認(rèn)值:9
//作用:探測(cè)失敗后逗宜,最多嘗試探測(cè)幾次
net.ipv4.tcp_keepalive_probes = 3
######################## cat /proc/sys/net/ipv4/tcp_keepalive_time
//默認(rèn)值:7200
//作用:間隔多久發(fā)送1次keepalive探測(cè)包
net.ipv4.tcp_keepalive_time = 1200
######################## cat /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
//默認(rèn)值:432000
//作用:設(shè)置 conntrack tcp 狀態(tài)的超時(shí)時(shí)間雄右,如果系統(tǒng)出現(xiàn)下述異常時(shí)要考慮調(diào)整:
ping: sendmsg: Operation not permitted
kernel: nf_conntrack: table full, dropping packet.
// 參考:http://www.linuxidc.com/Linux/2012-11/75151.htm, http://blog.csdn.net/dog250/article/details/9318843
net.netfilter.nf_conntrack_tcp_timeout_established = 600
######################## cat /proc/sys/net/netfilter/nf_conntrack_max
//默認(rèn)值:65535
//作用:設(shè)置 conntrack 的上限空骚,如果系統(tǒng)出現(xiàn)下述異常時(shí)要考慮調(diào)整:
ping: sendmsg: Operation not permitted
kernel: nf_conntrack: table full, dropping packet.
// 參考:https://blog.yorkgu.me/2012/02/09/kernel-nf_conntrack-table-full-dropping-packet/, http://www.cnblogs.com/mydomain/archive/2013/05/19/3087153.html
net.netfilter.nf_conntrack_max = 655350
##########################################################################################
######################## cat /proc/sys/net/core/netdev_max_backlog
//默認(rèn)值:1000
//作用:網(wǎng)卡設(shè)備將請(qǐng)求放入隊(duì)列的長(zhǎng)度
net.core.netdev_max_backlog = 500000
######################## cat /proc/sys/net/core/somaxconn
//默認(rèn)值:128
//作用:已經(jīng)成功建立連接的套接字將要進(jìn)入隊(duì)列的長(zhǎng)度
net.core.somaxconn = 65536
######################## cat /proc/sys/net/core/rmem_default
//默認(rèn)值:212992
//作用:默認(rèn)的TCP數(shù)據(jù)接收窗口大小(字節(jié))
net.core.rmem_default = 8388608
######################## cat /proc/sys/net/core/wmem_default
//默認(rèn)值:212992
//作用:默認(rèn)的TCP數(shù)據(jù)發(fā)送窗口大欣奕浴(字節(jié))
net.core.wmem_default = 8388608
######################## cat /proc/sys/net/core/rmem_max
//默認(rèn)值:212992
//作用:最大的TCP數(shù)據(jù)接收窗口大卸谝佟(字節(jié))
net.core.rmem_max = 16777216
######################## cat /proc/sys/net/core/wmem_max
//默認(rèn)值:212992
//作用:最大的TCP數(shù)據(jù)發(fā)送窗口大小(字節(jié))
net.core.wmem_max = 16777216
######################## cat /proc/sys/net/ipv4/tcp_mem
//默認(rèn)值:94389 125854 188778
//作用:內(nèi)存使用的下限 警戒值 上限
net.ipv4.tcp_mem = 94500000 915000000 927000000
######################## cat /proc/sys/net/ipv4/tcp_rmem
//默認(rèn)值:4096 87380 6291456
//作用:socket接收緩沖區(qū)內(nèi)存使用的下限 警戒值 上限
net.ipv4.tcp_rmem = 4096 87380 16777216
######################## cat /proc/sys/net/ipv4/tcp_wmem
//默認(rèn)值:4096 16384 4194304
//作用:socket發(fā)送緩沖區(qū)內(nèi)存使用的下限 警戒值 上限
net.ipv4.tcp_wmem = 4096 16384 16777216
##########################################################################################
######################## cat /proc/sys/net/ipv4/tcp_thin_dupack
//默認(rèn)值:0
//作用:收到dupACK時(shí)要去檢查tcp stream是不是 thin ( less than 4 packets in flight)
net.ipv4.tcp_thin_dupack = 1
######################## cat /proc/sys/net/ipv4/tcp_thin_linear_timeouts
//默認(rèn)值:0
//作用:重傳超時(shí)后要去檢查tcp stream是不是 thin ( less than 4 packets in flight)
net.ipv4.tcp_thin_linear_timeouts = 1
######################## cat /proc/sys/net/unix/max_dgram_qlen
//默認(rèn)值:10
//作用:UDP隊(duì)列里數(shù)據(jù)報(bào)的最大個(gè)數(shù)
net.unix.max_dgram_qlen = 30000
##########################################################################################
######################## 針對(duì)lvs逢渔,關(guān)閉網(wǎng)卡LRO/GRO功能
// 現(xiàn)在大多數(shù)網(wǎng)卡都具有LRO/GRO功能肋坚,即網(wǎng)卡收包時(shí)將同一流的小包合并成大包 (tcpdump抓包可以看到>MTU 1500bytes的數(shù)據(jù)包)交給 內(nèi)核協(xié)議棧;LVS內(nèi)核模塊在處理>MTU的數(shù)據(jù)包時(shí)肃廓,會(huì)丟棄智厌;
// 因此,如果我們用LVS來(lái)傳輸大文件亿昏,很容易出現(xiàn)丟包峦剔,傳輸速度慢;
// 解決方法角钩,關(guān)閉LRO/GRO功能吝沫,命令:
ethtool -k eth0 查看LRO/GRO當(dāng)前是否打開(kāi)
ethtool -K eth0 lro off 關(guān)閉GRO
ethtool -K eth0 gro off 關(guān)閉GRO
【kernel】
######################## cat /proc/sys/kernel/randomize_va_space
//默認(rèn)值:2
//作用:內(nèi)核的隨機(jī)地址保護(hù)模式
kernel.randomize_va_space = 1
######################## cat /proc/sys/kernel/panic
//默認(rèn)值:0
//作用:內(nèi)核panic時(shí),1秒后自動(dòng)重啟
kernel.panic = 1
######################## cat /proc/sys/kernel/core_pattern
//默認(rèn)值:|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
//作用:程序生成core時(shí)的文件名格式
kernel.core_pattern = core_%e
######################## cat /proc/sys/kernel/sysrq
//默認(rèn)值:0
//作用:是否啟用sysrq功能
kernel.sysrq = 0
【vm】
######################## cat /proc/sys/vm/min_free_kbytes
//默認(rèn)值:8039
//作用:保留內(nèi)存的最低值
vm.min_free_kbytes=901120
######################## cat /proc/sys/vm/panic_on_oom
//默認(rèn)值:0
//作用:發(fā)生oom時(shí)递礼,自動(dòng)轉(zhuǎn)換為panic
vm.panic_on_oom=1
######################## cat /proc/sys/vm/min_free_kbytes
//默認(rèn)值:45056
//作用:保留最低可用內(nèi)存
vm.min_free_kbytes=1048576
######################## cat /proc/sys/vm/swappiness
//默認(rèn)值:60
//作用:數(shù)值(0-100)越高惨险,越可能發(fā)生swap交換
vm.swappiness=20
【fs】
######################## cat /proc/sys/fs/inotify/max_user_watches
//默認(rèn)值:8192
//作用:inotify的watch數(shù)量
fs.inotify.max_user_watches=8192000
######################## cat /proc/sys/fs/aio-max-nr
//默認(rèn)值:65536
//作用:aio最大值
fs.aio-max-nr=1048576
######################## cat /proc/sys/fs/file-max
//默認(rèn)值:98529
//作用:文件描述符的最大值
fs.file-max = 1048575
ZYXW、參考
1脊髓、Linux內(nèi)核高性能優(yōu)化【生產(chǎn)環(huán)境實(shí)例】
http://yangrong.blog.51cto.com/6945369/1567427
2辫愉、linux內(nèi)核參數(shù)解釋說(shuō)明
http://yangrong.blog.51cto.com/6945369/1321594
3、tcp_tw_reuse将硝、tcp_tw_recycle 使用場(chǎng)景及注意事項(xiàng)
http://www.cnblogs.com/lulu/p/4149312.html