fs.aio-max-nr=1048576
#此參數限制并發未完成的異步請求數目,應該設置避免I/O子系統故障
fs.file-max=1048575
#該參數決定了系統中所允許的文件句柄最大數目,文件句柄設置代表linux系統中可以打開的文件的數量
fs.inotify.max_user_watches=8192000
#表示每一個real user ID可創建的inotify instatnces的數量上限,默認128
kernel.core_pattern=core_%e
#這里所說的core_pattern 指的是:/proc/sys/kernel/core_pattern.
kernel.msgmax=65535
#該文件指定了從一個進程發送到另一個進程的消息最大長度,進程間的消息傳遞是在內核的內存中進行的。不會交換到硬盤上。所以如果增加該值,則將增加操作系統所使用的內存數量。
kernel.msgmnb=65535
#該文件指定在一個消息隊列中最大的字節數 缺省設置:16384
kernel.panic=1
#該文件表示如果發生"內核嚴重錯誤(kernel panic)",則內核在重新引導之前等待的時間(以秒為單位)。
0秒設置在內發生內核嚴重錯誤時將禁止重新引導。缺省值:0
kernel.printk=3 3 1 3
#該文件有四個數字值,它們根據日志記錄消息的重要性,定義將其發送到何處。默認設置:6 4 1 7
? 該文件4個值為:
? 控制臺日志級別:優先級高于該值的消息將打印值控制臺
? 缺省消息日志級別:用該優先級來打印沒有優先級的消息
? 最低控制臺日志級別:控制臺日志級別可被設置最小值(最高優先級)
? 缺省控制臺日志級別:控制臺日志級別的缺省值
kernel.shmall=7549746
#該參數表示統一一次可以使用的共享內存總量(以頁為單位)。默認是2097152
kernel.shmmax=30923764530
#該參數定義了共享內存段的最大尺寸(以字節為單位),默認是32M,優化設置28M。
kernel.sysrq=0
#如果該文件指定的值為非0,則激活sysctem request key。默認值:0
kernel.watchdog_thresh=30
#30秒內watchdog線程都沒有被調度到,就會觸發軟鎖(soft lockup)
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.core.netdev_max_backlog=500000
##當網卡接收數據包的速度大于內核處理的速度時,會有一個隊列保存這些數據包,這個參數表示該隊列的最大值。
net.core.rmem_default=8388608
#接收套接字緩沖區大小的默認值(以字節為單位)
net.core.rmem_max=16777216
#接收套接字緩沖區大小的最大值(以字節為單位)
net.core.somaxconn=65535
#用來限制監聽(LISTEN)隊列最大數據包的數量,超過這個數量就會導致鏈接超時或者觸發重傳機制
net.core.wmem_default=8388608
#發送套接字緩沖區大小的默認值(以字節為單位)
net.core.wmem_max=16777216
#發送套接字緩沖區大小的最大值(以字節為單位)
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
#關閉反向路徑過濾
net.ipv4.ip_forward=1
#開啟包過濾功能
net.ipv4.ip_local_port_range=1024 65535
#對外連接端口范圍
net.ipv4.tcp_fin_timeout=30
#減少處于FIN-WAIT-2連接狀態的時間,使系統可以處理更多的連接
net.ipv4.tcp_keepalive_intvl=30
#探測消息未獲得響應時,重發該消息的間隔時間(秒),系統默認75秒
net.ipv4.tcp_keepalive_probes=3
#在認定連接失效之前,發送多少個TCP的keepalive探測包。系統默認值是9。這個值乘以tcp_keepalive_intvl之后決定了,一個連接發送了keepalive探測包之后可以有多少時間沒有回應
net.ipv4.tcp_keepalive_time=1200
#這個參數表示當keepalive啟用時,TCP發送keepalive消息的頻度。默認是2小時,若將其設置得小一些,可以更快地清理無效的連接
net.ipv4.tcp_max_orphans=3276800
#表示系統中最多有多少TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這里設置的數字,連接就會復位并輸出警告信息。這個限制僅僅是為了防止簡單的DoS攻擊。此值不能太小
net.ipv4.tcp_max_syn_backlog=819200
#表示那些尚未收到客戶端確認信息的連接(SYN消息)隊列的長度,默認為1024,加大隊列長度為262144,可以容納更多等待連接的網絡連接數
net.ipv4.tcp_max_tw_buckets=262144
#表示系統同時保持TIME_WAIT套接字的最大數量。如果超過此數,TIME_WAIT套接字會被立刻清除并且打印警告信息,
之所以要設定這個限制,純粹為了抵御那些簡單的DoS攻擊,不過,過多的TIME_WAIT套接字也會消耗服務器資源,甚至死機。
net.ipv4.tcp_mem=94500000 915000000 927000000
#確定TCP棧應該如何反映內存使用,每個值的單位都是內存頁(通常是4KB)
第一個值是內存使用的下限;
第二個值是內存壓力模式開始對緩沖區使用應用壓力的上限;
第三個值是內存使用的上限
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 16384 16777216
# 增加TCP最大緩沖區大小
net.ipv4.tcp_syncookies=1
#開啟SYN Cookies,當出現SYN等待隊列溢出時,啟用cookies來處理
net.ipv4.tcp_thin_linear_timeouts=1
#重傳超時后要檢查tcp stream是不是thin(less than 4 packets in flight),默認是0不開啟
net.ipv4.tcp_timestamps=1
#時間戳可以避免序列號的卷繞。一個1Gbps的鏈路肯定會遇到以前用過的序列號,時間戳能夠讓內核接受這種“異常”的數據包。
net.ipv4.tcp_tw_reuse=1
#開啟TCP連接復用功能,允許將time_wait sockets重新用于新的TCP連接(主要針對time_wait連接)
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0
net.netfilter.nf_conntrack_max=655350
net.netfilter.nf_conntrack_tcp_timeout_established=600
#修改防火墻表大小
net.unix.max_dgram_qlen=30000
#UDP隊列里數據報的最大個數
vm.max_map_count=262144
#限制一個進程可以擁有的VMA(虛擬內存區域)的數量
vm.min_free_kbytes=1048576
#保留內存的最低值
vm.panic_on_oom=0
#發生oom時,自動轉換為panic
vm.swappiness=20
#數值(0-100)越高,越可能發生swap交換