故障描述:今天网站无法访问,查看当时的日志信息为:
Dec 12 10:54:37 localhost kernel: nf_conntrack: table full, dropping packet
由于nginx在对后端php转发的时候,默认为65535,超时时间为5天,当访问量大的时候,超出了nf_conntrack模块的转发数量,
wc –l /proc/net/nf_conntrack
解决方法为:
一,调整系统内核,vim /etc/sysctl.conf添加
net.netfilter.nf_conntrack_max = 655350
net.nf_conntrack_max = 655350
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1200
二,启用更改后的内核配置
sysctl –p
三,加载内核模块
modprobe MODULENAME 手动加载
modprobe –r MODULENAME 卸载模块
lsmod 列出已经加载的模块
当网站访问量增大时,可能会遇到Linux内核nf_conntrack模块表满,导致网络连接问题。日志显示'nf_conntrack:tablefull,dropping packet'。解决方案包括调整内核参数,在/etc/sysctl.conf中增加net.netfilter.nf_conntrack_max设置,并设置tcp超时时间为1200秒。执行sysctl -p应用配置,并使用modprobe管理内核模块来解决这个问题。

被折叠的 条评论
为什么被折叠?



