首页/网络/网络排障速查/长时统计 ping:-c 大数 + -i 间隔 + -D 时间戳
连通性与链路检测54 条

长时统计 ping:-c 大数 + -i 间隔 + -D 时间戳

判断「偶尔断一下」要靠长时间统计:增加包数、放慢间隔、给每行打时间戳,才能看出丢包的模式(随机/周期性/突发)。

网络排障速查网络更新于 2026-10-13

长时统计 ping 是干什么的

几十个包的 ping 只能证明此刻能通,证明不了链路稳定。-c 加大包数、-i 放慢间隔、-D 给每行加上时间戳,三者组合起来就变成一次可复盘的质量观测:既能看到总丢包率,也能把丢包摊到时间轴上,判断它是随机发生、周期性发生还是与业务高峰同步。这是排查偶发卡顿、随机超时的第一手数据。

基本信息

核心三参数-c 总包数、-i 发包间隔、-D 每行 UNIX 时间戳
典型配置每秒 1 到 5 包,持续半小时到数小时,具体按故障频率决定
输出处理重定向到文件或配合 tee,长测必须留档才能复盘
平台差异Windows 用 ping -t 长测,但没有时间戳参数,需靠外部脚本计时

典型使用场景

  • 偶发断线:用户描述『每隔一会儿卡一下』,先挂长测看丢包是否真的存在
  • 割接验证:变更后连续观测一小时,确认时延与丢包回到基线水平
  • 带宽争抢排查:丢包集中在备份或批处理时段,可指向链路拥塞
  • 无线与专线验收:用长时统计给出丢包率数字,而不是凭感觉描述
  • 复现取证:故障再次出现时,日志里有精确到秒的丢包记录

长测并落盘

长测并落盘
ping -D -i 0.5 -c 3600 10.0.0.5 | tee /tmp/ping-1h.log    # 半小时、每秒 2 包、带时间戳
ping -q -i 0.2 -c 3000 10.0.0.5 | tail -2                  # 只要最后的统计结论
tail -f /tmp/ping-1h.log | grep -E 'no answer|timeout'      # 实时只盯异常行
grep -c timeout /tmp/ping-1h.log                            # 统计总丢包数
grep timeout /tmp/ping-1h.log | awk '{print strftime("%H:%M", $1)}' | uniq -c | head  # 按分钟看丢包密度

丢包模式判读

时间分布特征常见指向下一步动作
周期性出现,如整点或每五分钟定时任务、备份占满带宽、路由协议震荡对齐定时任务与备份窗口的时间
与业务高峰同步链路拥塞、队列丢包、上联带宽不足在高峰时段用 mtr 看哪一跳开始丢包
完全随机且短促物理层误码、光衰、水晶头接触不良、无线干扰查网卡错误计数与光模块收发光
只影响特定客户端或来源客户端侧问题、地址转换、无线终端、代理差异换一台机器与一条出口做对照测试
丢包与高时延同时出现链路拥塞或中间队列堆积结合带宽实测与业务并发量判断
-D 输出的第一列是 Unix 秒,可以带小数;配合 awk 与 strftime 就能把丢包摊到分钟或小时维度,几行命令即可画出时间分布。
观测本身也会占用资源:每秒 2 包持续一天约产生十七万行日志,务必设置日志轮转与磁盘告警,必要时用 -q 只保留汇总。

易错点

  • 只跑几十个包就断言链路没问题,漏掉千分之几的间歇丢包,而这点丢包足以让 TCP 吞吐明显下降
  • 长测输出直接刷终端不落盘,故障窗口过后无据可查;用 tee 或重定向保留原始记录
  • 多台机器同时长 ping 打满小带宽链路,观测行为本身干扰了被观测对象,结论失真
  • 把 -i 设得过小又无 root 权限,命令直接报错退出,误以为目标不通

数据来源与参考

  • man 8 ping(-D、-i、-c 行为)
  • iputils 项目文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌