首页/系统/Linux 内核与性能调优速查/SO_REUSEADDR 快速重启绑定
本包目录(357 条)
sysctl 内核参数72 条CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条
网络栈调优98 条
性能分析工具37 条

SO_REUSEADDR 快速重启绑定

服务重启时避免因 TIME_WAIT 地址占用导致 bind 失败; 服务器监听 socket 常规设置项。

C 用例

C 用例
int one = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
bind(fd, addr, addrlen);
它解决的是地址重用; 多进程同端口并发监听需要 SO_REUSEPORT, 两者语义不同。

易错点

  • 误以为它能实现同端口多进程监听
  • 与 REUSEPORT 同时混用却不理解叠加语义

数据来源与参考

  • man 7 socket
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌