我经常在日志中看到以下内容:
内核: ip_conntrack:表满,丢包。
目前,我已经将ip_conntrack_max设置为65536 (默认值为RHEL5)。
记住内存使用情况,我可以安全地增加多少这个值?这个盒子上有4GB的内存。这台机器所提供的功能之一是作为静态内容服务器,这可能解释了高连接数,也意味着我希望尽可能多地保留用于缓存的OS内存。
另外,以下两种方法有什么区别?/proc/sys/net/ip 4/netfilter/ip_conntrack_max/proc/sys/net/ip 4/ip_conntrack_max
我应该编辑哪一个?
谢谢!
发布于 2010-03-02 12:40:44
首先,问自己一个问题:您的设置是否需要连接跟踪?如果它只是一个服务器,并且防火墙/NAT是在其他地方完成的,那么您可能可以一起禁用连接跟踪。
第二,检查您的连接跟踪条目是否有意义。有时,由于某些网络或防火墙的错误配置,连接表被装满了垃圾。通常,这些都是从未完全建立的连接的条目。这可能会发生,例如,当服务器收到传入连接SYN数据包时,但是服务器应答总是丢失在网络的某个地方。
我拥有的唯一一台机器是“ip_conntrack: table full”消息,它需要增加ip_conntrack_max (而不是修复配置),其中路由器为相当大的网络(数千个端点)执行NAT操作。
如果你知道你需要连接,它真的需要比它更大,增加数量,直到你没有得到更多的“表满”消息。注意内存的使用。
在/proc/slabinfo文件中可以找到有关连接跟踪对象的内存分配的一些统计信息。
https://serverfault.com/questions/111034
复制相似问题