Linux系统出现关于网络超时或应用超时问题排除方向

1、 统计系统当前连接总数

netstat -an | wc -l

2、按连接状态统计

netstat -an | awk '{print $6}' | sort | uniq -c 

例如:检查ftp 

netstat -an | grep ':21 ' | awk '{print $6}' | sort | uniq -c

3、统计每个 IP 的连接数

netstat -an | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 20

例如:检查ftp 

netstat -an | grep ':21 ' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 20

4、检查连接持续时间(配合ss)

netstat 不能直接显示连接持续时间,但 ss 可以:

例如:检查ftp 

ss -o state established '( dport = :21 )' | head -n 20

 

5、正确查看最大空闲时间

ss -ti state established '( dport = :21 )' | grep -oP 'lastsnd:\K\d+' | sort -n | tail -n 1

这会输出最大 lastsnd(单位 ms),比如:Max: 345000  如果大于 300000(5分钟),说明有连接空闲过久。

ss -ti state established '( dport = :21 )' | grep -oP 'lastsnd:\K\d+' | awk 'max<$1{max=$1} END {print "Max:",max}'

如何列出这些长时间未活动的连接

ss -ti state established '( dport = :21 )' | awk '/lastsnd:/ {match($0, /lastsnd:([0-9]+)/, a); if (a[1] > 300000) print $0}'

posted @ 2025-07-21 21:04  LB_运维技术  阅读(16)  评论(0)    收藏  举报