linux云主机cpu一直很高降不下来,系统日志报nf_conntrack: table full, dropping packet.

Posted 一条寻找快乐的咸鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux云主机cpu一直很高降不下来,系统日志报nf_conntrack: table full, dropping packet.相关的知识,希望对你有一定的参考价值。

在启用了iptables web服务器上,流量高的时候经常会出现下面的错误:

ip_conntrack: table full, dropping packet

这个问题的原因是由于web服务器收到了大量的连接,在启用了iptables的情况下,iptables会把所有的连接都做链接跟踪处理,这样iptables就会有一个链接跟踪表,当这个表满的时候,就会出现上面的错误。

iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除。

所以解決方法一般有两个:

(1) 加大 ip_conntrack_max 值

vi /etc/sysctl.conf

net.ipv4.ip_conntrack_max = 393216 
net.ipv4.netfilter.ip_conntrack_max = 393216

(2)通过iptable限制

iptables -A INPUT -m state --state UNTRACKED -j ACCEPT --不做状态跟踪的链接就允许进入

参数 -m state --state 
范例 iptables -A INPUT -m state --state RELATED,ESTABLISHED 
说明 用来比对联机状态,联机状态共有四种:INVALID、ESTABLISHED、NEW 和 RELATED。

INVALID 表示该封包的联机编号(Session ID)无法辨识或编号不正确。 
ESTABLISHED 表示该封包属于某个已经建立的联机。 
NEW 表示该封包想要起始一个联机(重设联机或将联机重导向)。 
RELATED 表示该封包是属于某个已经建立的联机,所建立的新联机。例如:FTP-DATA 联机必定是源自某个 FTP 联机。







以上是关于linux云主机cpu一直很高降不下来,系统日志报nf_conntrack: table full, dropping packet.的主要内容,如果未能解决你的问题,请参考以下文章

"Redis客户端连接数一直降不下来"的有关问题解决

2022年1月2日复盘 线上CPU飙升

ELK分布式日志分析系统部署(华为云)

linux cpu占用率很高

解决linux cpu占用不高但是负载很高

如何检查linux服务器cpu,内存性能