netstat 不管理连接池,仅显示内核级网络连接快照;可通过监听端口确认服务就绪、统计 established 数评估负载、分析 time_wait/close_wait 识别泄漏、按 ip 统计定位瓶颈。

netstat 本身不管理“连接池”,也不直接反映系统级连接池状态(比如数据库或应用层的连接池),它只展示内核层面已建立、监听或关闭中的网络连接快照。所谓“连接池状态”需结合具体服务判断,而 netstat 是观察其外在网络表现的关键工具。
看监听端口:确认服务是否就绪
服务启动后通常会绑定并监听某个端口,这是连接池对外提供能力的前提。
- 用 sudo netstat -ltnp 查所有 TCP 监听端口及对应进程,重点关注 Local Address 列:0.0.0.0:* 表示监听所有网卡,127.0.0.1:* 表示仅本机可连
- 若某服务应监听 3306 却没出现在结果中,说明服务未启动或绑定失败,连接池自然无法被访问
- 搭配 grep 快速定位,例如:sudo netstat -ltnp | grep :3306
查活跃连接数:间接评估连接池负载
已建立连接(ESTABLISHED)的数量,常与连接池当前活跃连接数强相关。
- 执行 netstat -ant | grep ESTABLISHED | wc -l 获取当前 TCP 已连总数
- 对特定服务,先用 -p 找出其 PID,再过滤连接:netstat -antp | grep 'PID/进程名' | grep ESTABLISHED
- 持续高连接数可能意味着连接未及时释放,需检查应用层连接池配置(如 maxActive、maxIdle)
识别异常连接状态:发现资源滞留或泄漏迹象
某些连接状态长期存在,往往暗示网络资源未正常回收。
- TIME_WAIT 过多(尤其短连接频繁场景)属正常,但若数量远超并发量,可能影响端口复用
- CLOSE_WAIT 大量堆积,说明本地应用未主动调用 close(),是典型的连接泄漏信号
- 统计各状态分布:netstat -ant | awk '{print $6}' | sort | uniq -c
监控连接来源与目标:辅助定位资源瓶颈
连接的地理分布和目标地址,有助于判断是内部调用还是外部压力导致资源紧张。
- 按远程 IP 统计连接数:netstat -ant | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
- 若某 IP 占比异常高,可能是爬虫、恶意扫描,或下游服务重试风暴
- 配合 -c 参数持续刷新:netstat -antc | head -n 20,观察动态变化









