当服务器负载过高或出现网络连接问题时,我们通常需要查看当前 TCP 连接数,进而找出问题的根源。在 Linux 环境下,netstat 是查看网络状态的绝佳工具。下面是查看并发连接数的方法:
命令
netstat -nat | awk '{print $6}' | sort | uniq -c | sort -rn
命令参数说明
-n
表示不做 DNS 解析,加快查找速度;-a
表示列出所有端口(但是不包括未监听的端口)以及其状态;-t
表示只显示 TCP 连接;awk '{print $6}'
表示只显示第六列;
最后一个命令 sort -rn
表示将结果按降序排列。
通过运行上述命令,我们可以统计出当前系统某个端口的并发连接数,例如:
$ netstat -nat | awk '{print $6}' | sort | uniq -c | sort -rn
8990 ESTABLISHED
34 TIME_WAIT
4 CLOSE_WAIT
1 FIN_WAIT2
1 LISTEN
上面的输出表示:当前系统中有 8990 个 ESTABLISHED
(已建立)状态的 TCP 连接,34 个 TIME_WAIT
(等待关闭)状态的连接,以及其他状态。
另外,如果我们希望针对特定的端口统计并发连接数,可以在 netstat
命令后添加过滤条件:
netstat -nat | grep ":{PORT}" | awk '{print $6}' | sort | uniq -c | sort -rn
其中 {PORT}
是端口号。
举个例子,假设我们想统计 80 端口的并发连接数,可以运行以下命令:
netstat -nat | grep ":80" | awk '{print $6}' | sort | uniq -c | sort -rn
输出结果类似于:
85 ESTABLISHED
3 CLOSE_WAIT
2 FIN_WAIT2
1 LISTEN
可以看到,当前系统 80 端口的并发连接数为 85。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux netstat命令查看并发连接数的方法 - Python技术站