ip_conntrack: table full, dropping packet的问题
生活随笔
收集整理的這篇文章主要介紹了
ip_conntrack: table full, dropping packet的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近一個web系統(tǒng)經(jīng)常報出如下日志信息:
Apr 17 16:37:26 www kernel: printk: 135 messages suppressed.
Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:33 www kernel: printk: 139 messages suppressed.
Apr 17 16:37:33 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:37 www kernel: printk: 60 messages suppressed.
Apr 17 16:37:37 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:52 www kernel: printk: 19 messages suppressed.
Apr 17 16:37:52 www kernel: ip_conntrack: table full, dropping packet.
有丟包現(xiàn)象,應(yīng)該是系統(tǒng)內(nèi)核屏蔽了網(wǎng)卡功能,此時系統(tǒng)對外表現(xiàn)為連接時通時斷,接著執(zhí)行如下操作:
[root@web ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max
65536
針對這個問題,可調(diào)整以下參數(shù):
echo 180 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 6553600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
echo 10240 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 40960 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 81920 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
或vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max=6553600
net.ipv4.netfilter.ip_conntrack_max=6553600
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.core.rmem_default = 2097152
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.wmem_default = 2097152
再sysctl -p
相關(guān)參數(shù)說明:
ARP支持一個sysctl接口,可以用以配置全局參數(shù)或逐個網(wǎng)絡(luò)接口地進行配制。該sysctl可以通過/proc/sys/net/ipv4/neigh/*/*文件或者使用sysctl(2)接口來訪問。系統(tǒng)中每個接口都在/proc/sys/net/ipv4/neigh/.中有自己的目錄。`default'目錄中的設(shè)置用于所有新建的設(shè)備。sysctl相關(guān)的時間是以秒為單位,除非特別聲明過.
anycast_delay
對IPv6相鄰請求信息的回復(fù)的最大延遲時間;目前還不支持anycast。缺省值為1秒。
app_solicit
這是在使用多路廣播探測(multicast probe)前,經(jīng)過網(wǎng)絡(luò)連接送到用戶間隙ARP端口監(jiān)控程序的探測(probe)最大數(shù)目(見mcast_solicit)。缺省值為0。
base_reachable_time
一旦發(fā)現(xiàn)相鄰記錄,至少在一段介于base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內(nèi),該記錄是有效的。如果收到上層協(xié)議的肯定反饋,那么記錄的有效期將延長。缺省值是30秒。
delay_first_probe_time
發(fā)現(xiàn)某個相鄰層記錄無效(stale)后,發(fā)出第一個探測要等待的時間。缺省值是5秒。
gc_interval
收集相鄰層記錄的無用記錄的垃圾收集程序的運行周期,缺省為30秒。
gc_stale_time
決定檢查一次相鄰層記錄的有效性的周期。當(dāng)相鄰層記錄失效時,將在給它發(fā)送數(shù)據(jù)前,再解析一次。缺省值是60秒。
gc_thresh1
存在于ARP高速緩存中的最少層數(shù),如果少于這個數(shù),垃圾收集器將不會運行。缺省值是128。
gc_thresh2
保存在ARP高速緩存中的最多的記錄軟限制。垃圾收集器在開始收集前,允許記錄數(shù)超過這個數(shù)字5秒。缺省值是512。
gc_thresh3
保存在ARP高速緩存中的最多記錄的硬限制,一旦高速緩存中的數(shù)目高于此,垃圾收集器將馬上運行。缺省值是1024。
locktime
ARP記錄保存在高速緩存內(nèi)的最短時間(jiffy數(shù)),以防止存在多個可能的映射(potential mapping)時,ARP高速緩存系統(tǒng)的顛簸(經(jīng)常是由于網(wǎng)絡(luò)的錯誤配置而引起)。缺省值是1秒。
mcast_solicit
在把記錄標(biāo)記為不可抵達的之前,用多路廣播/廣播(multicast/broadcast)方式解析地址的最大次數(shù)。
缺省值是3。
proxy_delay
當(dāng)接收到有一個請求已知的代理ARP地址的ARP請求時,在回應(yīng)前可以延遲的jiffy(時間單位,見BUG)數(shù)目。這樣,以防止網(wǎng)絡(luò)風(fēng)暴。缺省值是0.8秒。
proxy_qlen
能放入代理ARP地址隊列(proxy-ARP addresses)的數(shù)據(jù)包最大數(shù)目。缺省值是64。
retrans_time
重發(fā)一個請求前的等待jiffy(時間單位,見BUG)的數(shù)目。缺省值是1秒。
ucast_solicit
詢問ARP端口監(jiān)控程序前,試圖發(fā)送單探測(unicast probe)的次數(shù)。(見app_solicit).缺省值是3秒。
unres_qlen
每個沒有被其它網(wǎng)絡(luò)層解析的地址,在隊列中可存放包的最大數(shù)目。缺省值是3.
轉(zhuǎn)載:http://blog.ixpub.net/html/18/9727518-402981.html
Apr 17 16:37:26 www kernel: printk: 135 messages suppressed.
Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:33 www kernel: printk: 139 messages suppressed.
Apr 17 16:37:33 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:37 www kernel: printk: 60 messages suppressed.
Apr 17 16:37:37 www kernel: ip_conntrack: table full, dropping packet.
Apr 17 16:37:52 www kernel: printk: 19 messages suppressed.
Apr 17 16:37:52 www kernel: ip_conntrack: table full, dropping packet.
有丟包現(xiàn)象,應(yīng)該是系統(tǒng)內(nèi)核屏蔽了網(wǎng)卡功能,此時系統(tǒng)對外表現(xiàn)為連接時通時斷,接著執(zhí)行如下操作:
[root@web ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max
65536
針對這個問題,可調(diào)整以下參數(shù):
echo 180 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 6553600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time
echo 10240 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 40960 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 81920 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
或vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max=6553600
net.ipv4.netfilter.ip_conntrack_max=6553600
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.core.rmem_default = 2097152
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.wmem_default = 2097152
再sysctl -p
相關(guān)參數(shù)說明:
ARP支持一個sysctl接口,可以用以配置全局參數(shù)或逐個網(wǎng)絡(luò)接口地進行配制。該sysctl可以通過/proc/sys/net/ipv4/neigh/*/*文件或者使用sysctl(2)接口來訪問。系統(tǒng)中每個接口都在/proc/sys/net/ipv4/neigh/.中有自己的目錄。`default'目錄中的設(shè)置用于所有新建的設(shè)備。sysctl相關(guān)的時間是以秒為單位,除非特別聲明過.
anycast_delay
對IPv6相鄰請求信息的回復(fù)的最大延遲時間;目前還不支持anycast。缺省值為1秒。
app_solicit
這是在使用多路廣播探測(multicast probe)前,經(jīng)過網(wǎng)絡(luò)連接送到用戶間隙ARP端口監(jiān)控程序的探測(probe)最大數(shù)目(見mcast_solicit)。缺省值為0。
base_reachable_time
一旦發(fā)現(xiàn)相鄰記錄,至少在一段介于base_reachable_time/2和3*base_reachable_time/2之間的隨機時間內(nèi),該記錄是有效的。如果收到上層協(xié)議的肯定反饋,那么記錄的有效期將延長。缺省值是30秒。
delay_first_probe_time
發(fā)現(xiàn)某個相鄰層記錄無效(stale)后,發(fā)出第一個探測要等待的時間。缺省值是5秒。
gc_interval
收集相鄰層記錄的無用記錄的垃圾收集程序的運行周期,缺省為30秒。
gc_stale_time
決定檢查一次相鄰層記錄的有效性的周期。當(dāng)相鄰層記錄失效時,將在給它發(fā)送數(shù)據(jù)前,再解析一次。缺省值是60秒。
gc_thresh1
存在于ARP高速緩存中的最少層數(shù),如果少于這個數(shù),垃圾收集器將不會運行。缺省值是128。
gc_thresh2
保存在ARP高速緩存中的最多的記錄軟限制。垃圾收集器在開始收集前,允許記錄數(shù)超過這個數(shù)字5秒。缺省值是512。
gc_thresh3
保存在ARP高速緩存中的最多記錄的硬限制,一旦高速緩存中的數(shù)目高于此,垃圾收集器將馬上運行。缺省值是1024。
locktime
ARP記錄保存在高速緩存內(nèi)的最短時間(jiffy數(shù)),以防止存在多個可能的映射(potential mapping)時,ARP高速緩存系統(tǒng)的顛簸(經(jīng)常是由于網(wǎng)絡(luò)的錯誤配置而引起)。缺省值是1秒。
mcast_solicit
在把記錄標(biāo)記為不可抵達的之前,用多路廣播/廣播(multicast/broadcast)方式解析地址的最大次數(shù)。
缺省值是3。
proxy_delay
當(dāng)接收到有一個請求已知的代理ARP地址的ARP請求時,在回應(yīng)前可以延遲的jiffy(時間單位,見BUG)數(shù)目。這樣,以防止網(wǎng)絡(luò)風(fēng)暴。缺省值是0.8秒。
proxy_qlen
能放入代理ARP地址隊列(proxy-ARP addresses)的數(shù)據(jù)包最大數(shù)目。缺省值是64。
retrans_time
重發(fā)一個請求前的等待jiffy(時間單位,見BUG)的數(shù)目。缺省值是1秒。
ucast_solicit
詢問ARP端口監(jiān)控程序前,試圖發(fā)送單探測(unicast probe)的次數(shù)。(見app_solicit).缺省值是3秒。
unres_qlen
每個沒有被其它網(wǎng)絡(luò)層解析的地址,在隊列中可存放包的最大數(shù)目。缺省值是3.
轉(zhuǎn)載:http://blog.ixpub.net/html/18/9727518-402981.html
轉(zhuǎn)載于:https://blog.51cto.com/chenwenming/713222
總結(jié)
以上是生活随笔為你收集整理的ip_conntrack: table full, dropping packet的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何安装redmine插件
- 下一篇: IBM胡世忠谈大数据时代企业面临的四大挑