灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1777回复:0

linux连接数状态统计

楼主#
更多 发布于:2013-06-06 14:22
连接数状态获取:netstat在4W以上连接数下工作性能很差。
 
先看看ss命令:
 
ss -t -a #统计所有的TCP连接
 
ss -u -a #统计所有的UDP连接
  
 
ss还具有过滤功能,下面列一下常用的功能:
 
ss state ESTABLISHED #列出所有ESTABLISHED状态的连接
 
ss -t -a -o excl ESTABLISHED #排除所有ESTABLISHED状态的连接
  
 
ss state ESTABLISHED sport eq :80 #列出所有在80端口上状态为ESTABLISHED状态的连接
 
ss state ESTABLISHED sport eq :80 and not dst 127.0.0.1 #列出所有在80端口上状态为ESTABLISHED状态和目的地址不为127.0.0.1的连接
 
 
 
ss命令来自iproute包。
 
ss -s会列出一些基本的统计信息:
 
 
 
#ss -s
 
Total: 43160 (kernel 43254)
 
TCP: 43770 (estab 43069, closed 32, orphaned 646, synrecv 0, timewait 24/0), ports 285
 
 
 
Transport Total IP IPv6
 
* 43254 - -
 
RAW 0 0 0
 
UDP 13 10 3
 
TCP 43738 43535 203
 
INET 43751 43545 206
 
FRAG 0 0 0
 
TCP:?43770?(estab 43069,?closed 32,?orphaned 646,?synrecv 0,?timewait 24/0),?ports 285 这行是什么含义呢,只能去源码里找了:
 
...
 
printf("TCP: %d (estab %d, closed %d, orphaned %d, synrecv %d, timewait %d/%d), ports %dn",
 
s.tcp_total + slabstat.tcp_syns + s.tcp_tws,
 
sn.tcp_estab,
 
s.tcp_total - (s.tcp4_hashed+s.tcp6_hashed-s.tcp_tws),
 
s.tcp_orphans,
 
slabstat.tcp_syns,
 
s.tcp_tws, slabstat.tcp_tws,
 
slabstat.tcp_ports
 
);

喜欢0 评分0
游客

返回顶部