Linux服务器连接数怎么查
- Linux
- 2025-06-08
- 5
Linux系统查看连接数:详细指南与实用技巧
在服务器管理和网络监控中,查看网络连接状态是最基础的技能之一,掌握这些方法能帮助您快速诊断网络瓶颈和安全问题。
在Linux系统中,网络连接数是衡量服务器负载、检测异常活动以及优化性能的关键指标,当服务器响应变慢或出现网络故障时,查看当前连接状态通常是排查问题的第一步,以下是我在多年Linux系统管理实践中总结的高效查看连接数方法。
核心工具查看连接状态
经典工具 netstat(推荐基础使用)
# 查看所有TCP连接 netstat -ant # 查看统计信息(按状态分组) netstat -ant | awk '/^tcp/ {print $6}' | sort | uniq -c
参数解析:
- -a:显示所有连接和监听端口
- -n:以数字形式显示地址和端口
- -t:仅显示TCP连接(-u用于UDP)
输出示例:
ESTABLISHED 120 TIME_WAIT 85 LISTEN 10
解读指南:
- ESTABLISHED:当前活跃连接
- TIME_WAIT:等待关闭的连接(大量出现可能需调整内核参数)
- LISTEN:服务监听端口
高效工具 ss(netstat的现代替代)
# 查看所有TCP连接(比netstat速度更快) ss -t -a # 按状态统计连接数 ss -s
参数优势:


- 直接读取内核数据,效率更高
- 支持更丰富的过滤功能
- 显示更详细的套接字信息
统计输出示例:
Total: 256 TCP: 184 (estab 120, closed 40, orphaned 0, timewait 24)
文件系统查看 /proc/net/tcp
# 直接读取内核TCP连接信息 cat /proc/net/tcp # 格式化输出(需安装iproute2) cat /proc/net/tcp | awk '{print $2,$3,$4,$5}' | column -t
字段解释:
- 本地地址(十六进制IP:端口)
- 远程地址(十六进制IP:端口)
- 连接状态(16进制值)
- 队列信息
状态码参考:

- 0A:LISTEN
- 01:ESTABLISHED
- 06:TIME_WAIT
进阶分析方法
按服务进程查看连接
# 查看各进程的连接数 lsof -i TCP -n | awk '{print $1}' | sort | uniq -c | sort -nr # 查看特定进程连接(如nginx) lsof -i -P -n | grep nginx
实时监控连接变化
# 每2秒刷新连接状态 watch -n 2 "netstat -ant | awk '{print $6}' | sort | uniq -c"
分析高连接IP
# 统计访问最多的前10个IP netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | tail -10
️ 性能优化与安全监控
调整内核参数(解决TIME_WAIT过多)
# 编辑sysctl.conf sudo nano /etc/sysctl.conf # 添加以下参数 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 # 应用配置 sudo sysctl -p
检测异常连接
# 找出连接数异常的IP(>100连接) netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | awk '$1 > 100'
可视化工具推荐(适合长期监控)
- iftop:实时带宽监控 sudo iftop -P
- nethogs:按进程分组流量 sudo nethogs
- Prometheus+:Grafana企业级监控方案
总结与最佳实践
| 工具/方法 | 适用场景 | 优势 |
|---|---|---|
| netstat | 快速基本检查、兼容性要求 | 系统自带、语法简单 |
| ss | 专业排查、高性能服务器 | 速度极快、信息详细 |
| lsof | 进程级连接分析 | 精确关联进程 |
| /proc | 内核级数据分析 | 无依赖、原始数据 |
| 可视化工具 | 长期监控/趋势分析 | 直观展示、历史记录 |
专业建议:
- 日常监控使用 ss -s 快速获取连接统计
- 排查异常时结合 lsof 和 ss 精确定位问题进程
- 对于生产环境,建议部署Prometheus等专业监控系统
- 定期分析连接日志,建立基线以便发现异常波动
在Web服务器场景中,TIME_WAIT连接数通常是正常值的3倍左右属于合理范围,超过此比例可能需要优化TCP参数或检查程序连接管理逻辑。
掌握这些连接数查看技巧,将使您能够快速诊断服务器性能瓶颈、发现潜在安全威胁(如分布攻破)并优化应用性能,最有效的监控是持续性的——建立连接趋势图比单次检查更能揭示问题本质。
参考资料:
- Linux man pages (netstat/ss/lsof)
- Red Hat性能调优指南
- Linux内核文档 (Documentation/networking/proc_net_tcp.txt)
- W. Richard Stevens《UNIX网络编程》