上一篇 下一篇 分享链接 返回 返回顶部

端口被占用怎么查和处理

发布人:泮崵 发布时间:8小时前 阅读量:1

Address already in use 是最常见的启动失败原因之一。同一件事有很多种做法,选哪种取决于你的系统版本和线上是否允许中断。

下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 端口占用、ss 的关键动作都给了具体做法,可以照着走。

确认监听

ss -lntp 看谁占了端口。

出现异常先回退到上一个已知可用状态,再慢慢找原因。

反查进程

lsof -i:端口 拿到 PID 与命令行。

容易踩的坑:很多“没生效”其实是缓存或时长问题,先排除这一层再改配置。

区分 TIME_WAIT

连接状态不是 LISTEN 就不算占用。

需要留痕的操作,把时间点和现象一起记下来,复盘时最有用。

处理

改端口、停旧进程,或调 tcp_tw_reuse。

速查表

环节关键动作
确认监听ss -lntp 看谁占了端口
反查进程lsof -i:端口 拿到 PID 与命令行
区分 TIME_WAIT连接状态不是 LISTEN 就不算占用
处理改端口、停旧进程,或调 tcp_tw_reuse

常见问题

Q:端口占用这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。

Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。

小结

回到这篇的四个环节:确认监听、反查进程、区分 TIME_WAIT、处理。生产环境优先考虑稳定性,新参数先在小流量机器上验证。

相关阅读:进程处于 D 状态怎么处理、负载高但 CPU 不高怎么解释、CPU 跑满怎么找到真凶。

目录结构
全文
微信公众号 微信公众号
微信客服 微信客服
电子邮箱: admin@qyun.net