系统版本:CentOS Linux release 7.6.1810 (Core)
系统内核:3.10.0-957.el7.x86_64
1、在系统日志中发现有报错信息:kernel: nf_conntrack: falling back to vmalloc.
[root@th ~]# grep kernel: /var/log/messages
Mar 10 14:09:54 th kernel: nf_conntrack: falling back to vmalloc.
Mar 10 14:18:39 th kernel: nf_conntrack: falling back to vmalloc.
[root@hangzhou_http_03 ~]# dmesg |grep nf_conntrack
[2580830.625276] nf_conntrack: falling back to vmalloc.
[2925703.251640] nf_conntrack: falling back to vmalloc.
[2929566.455368] nf_conntrack: falling back to vmalloc.
[3334182.477234] nf_conntrack: falling back to vmalloc.
[3359138.062125] nf_conntrack: falling back to vmalloc.
[3359479.322576] nf_conntrack: falling back to vmalloc.
.....
2、查看当前nf_conntrack模块设置参数:
net.netfilter.nf_conntrack_buckets = 65536
net.netfilter.nf_conntrack_max = 262144
net.nf_conntrack_max = 262144
[root@th ~]# sysctl -a | grep nf_conntrack #查看nf_conntrack模块相关配置
3、出现 “kernel: nf_conntrack: falling back to vmalloc.”报错的原因说明nf_conntrack_buckets模块设置太大,需要将其数字减半,在看报错信息,如果观察系统日志 /var/log/messages还是有报错,继续按半数减小,直到没有报错信息。
[root@th ~]# echo 32768 > /sys/module/nf_conntrack/parameters/hashsize
[root@th ~]# sysctl -w net.nf_conntrack_max=131072
[root@th ~]# sysctl -w net.netfilter.nf_conntrack_max=131072
4、防止重启系统后配置失效。
[root@th ~]# echo "echo 32768 > /sys/module/nf_conntrack/parameters/hashsize" >> /etc/rc.local
或者
[root@th ~]# vi /etc/sysctl.conf
net.netfilter.nf_conntrack_buckets = 32768
[root@th ~]# sysctl -p