nicstat 网络流量统计利器
这篇讲的是 nicstat 这个被称作“网络接口的 iostat”的流量监控工具。作者从 Brendan Gregg 的性能分析 PPT 引出它,详细说明了如何将这个原本在 Solaris 下的工具移植并安装到 Linux 环境中。文章核心对比了 nicstat 和常见的 netstat,指出其关键优势在于:能同时报告字节与数据包流量、将数据归一化为每秒速率、统计所有接口、并尝试估算网卡利用率(%Util)与饱和度(Sat)。这些特性让实时监控和诊断更直观。 文中展示了具体的安装过程(需针对64位系统修改编译参数)和多个使用示例,例如用 `enicstat -l` 查看网卡状态,用 `-M` 切换为兆比特单位显示,以及用 `-t` 获取 TCP 连接统计。特别值得注意的是,nicstat 通过读取 `/proc/net/dev`、`snmp` 等文件来获取数据,并提供了如重传率(%ReTX)、连接数等 TCP 层面信息,对排查网络问题很实用。文章最后也坦诚说明了在 Linux 下其饱和度统计的局限性,提示读者结合使用率和数据包速率进行综合判断。