message和dmesg里都是这个报错 ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack 唯一就是能核实的 连接跟踪表被填满 原理如下: kernel 用 ip_conntrack 模块来记录 iptables 网络包的状态,并把每条记录保存到 table 里(这个 table 在内存里,可以通过/proc/net/ip_conntrack 查看当前已经记录的总数),如果网络状况繁忙,比如高连接,高并发连接等会导致逐步占用这个 table 可用空间,目前的这个报错显示这个表已经满了 在/proc/net/ip_conntrack中,每一个跟踪连接表会占用304字节的内核存储空间,时间一长就会把默认的空间填满,那么默认空间时多少?我以redhat为例在内存为64MB的机器上是4096,内存为128MB是 8192,内存为256MB是16376,可以通过查看/proc/sys/net/ipv4/ip_conntrack_max文件得知系统最大值。 建议的解决方案 /etc/modprobe.conf options ip_conntrack hashsize= 把这个设置的大一点试试 (责任编辑:IT) |