现象:
阿里云服务器ecs启动了python程序,当使用slb以后会建立大量的保留地址会话,而且会一直上升
咨询阿里云售后发现是健康检查的地址,但是一般最多只有几十个,这样几千个的establish 会话不正常,重启系统,或者重启程序后刚开始没问题,后面一直累加establish会话
![](https://i-blog.csdnimg.cn/blog_migrate/7758b4fcdad5a5d8f4f92c1459189097.png)
![](https://i-blog.csdnimg.cn/blog_migrate/97354d6df62fd4da143d6c2f536a70fc.png)
后面问了同事发现是使用了 5.4 的内核,于是降低内核版本,重启系统问题得到解决
说明阿里云的slb 和最新的内核版本不兼容,不要随意升级操作系统内核
# 载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 载入elrepo-kernel元数据
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
# 查看可用的rpm包
yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
# 安装长期支持版本的kernel
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt.x86_64
# 删除旧版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64 -y
# 安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
#查看默认启动顺序
# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.90-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.11.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.6.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-20201120162201014812678890627137) 7 (Core)
# 查看当前内核启动顺序 是1 ,说明当前是从 CentOS Linux (3.10.0-1160.11.1.el7.x86_64) 7 (Core) 这个内核启动的
# grub2-editenv list
saved_entry=1
#默认启动的顺序是从 1 开始,新内核 CentOS Linux (5.4.90-1.el7.elrepo.x86_64) 7 (Core) 目前位置在0,而 3.10.0 的是在1),所以需要选择0
# 需要将 5.4.90 这个内核设置为默认启动即为 0
grub2-set-default 0
#重启并检查
reboot