Linux系统 Cannot assign requested address
问题原因
压测时发起的链接多,又没有开启回收tcp_tw_reuse,导致发起压测的机器产生了大量TIME_WAIT状态的链接。
shell
netstat -nap | grep -i time_wait
解决方案
修改sysctl文件,开启timewait重用功能
shell
sudo vim /etc/sysctl.d/99-sysctl.conf
文件末尾添加以下两行
properties
net.ipv4.ip_forward = 1
net.ipv4.tcp_tw_reuse=1
添加完成后,使用sysctl -p 使配置立即生效
shell
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
在Ubuntu 22.04环境下没有net.ipv4.tcp_tw_recycle配置项,其他Linux系统根据测试效果酌情添加recycle配置项。