netstat -s 丢包数据如何重置?
netstat -s 是 累计计数,不会自动清零(如何清零)。
# 查看特定端口socket情况
netstat -s | grep -i listen 716
times the listen queue of a socket overflowed 716 SYNs to LISTEN sockets dropped
1. 直接重启网络协议栈(最彻底)
会清零所有 TCP 统计计数。
1 | systemctl restart networking # Debian/Ubuntu |
或者直接重启机器(粗暴但有效)。
2. 卸载/重新加载 tcp_diag 模块
netstat -s 数据来自 /proc/net/netstat,统计在内核协议栈里。
可以通过卸载再加载模块来清零:
1 | # 查看模块 |
⚠️ 不同内核版本有可能模块名是
inet_diag。
3. 不重置,改用“差值”观察(推荐)
生产环境里通常 不建议清零,而是周期性采集,再计算差值。
比如:
1 | # 第一次采集 |
或者更专业的方式:
1 | watch -n 5 "netstat -s | grep -i listen" |
观察每 5 秒的新增次数。