發現ECS Linux服務器出現間歇性丟包的狀況,經過tracert、mtr等手段排查,外部網絡未見異常。web
同時,以下圖所示,在系統日誌中重複出現大量以下錯誤信息:服務器
Jun 13 15:20:23 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:24 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:24 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.
Jun 13 15:20:25 web3 kernel: nf_conntrack: table full, dropping packet.網絡
ip_conntrack是Linux系統內NAT的一個跟蹤鏈接條目的模塊。ip_conntrack模塊會使用一個哈希表記錄 tcp 通信協議的 established connection記錄,當這個哈希表滿了的時候,便會致使nf_conntrack: table full, dropping packet錯誤。tcp
在Centos 5.x上是以下的設置:ide
用戶能夠嘗試經過修改以下內核參數來調整ip_conntrack限制。操做方式簡述以下:spa
1. 在終端下輸入以下指令編輯系統內核配置:.net
# vi /etc/sysctl.conf日誌
2. 設置或修改以下參數:orm
#哈希表項最大值ip
net.ipv4.netfilter.ip_conntrack_max = 655350
#超時時間,默認狀況下 timeout 是5天(432000秒)
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1200
3. 在終端下輸入以下指令使上述配置生效:
#sysctl -p
在Centos 6.x上是上是以下的設置:
1. 在終端下輸入以下指令編輯系統內核配置:
# vi /etc/sysctl.conf
2. 設置或修改以下參數:
#哈希表項最大值
net.netfilter.nf_conntrack_max = 655350
#超時時間,默認狀況下 timeout 是5天(432000秒)
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
3. 在終端下輸入以下指令使上述配置生效: