我最近开始玩kstat
,我想两个人编写一个简单的脚本来绘制我所有区域的网络使用情况。
经过一番研究,我发现了 下所需的一切link:0:::
。我主要对数据包和字节计数感兴趣,但这些计数器有两个版本:
link:0:::*bytes
link:0:::*bytes64
数据包计数相同:
link:0:::*packets
link:0:::*packets64
数据包计数似乎相同,但字节计数不同。
有人可以解释一下这些计数器和它们的 64 版本之间的区别吗?此外,任何有关计数器的文档或参考kstat
通常都会有很大帮助。
注意:从服务器故障移出
答案1
后缀为 64 的度量存储在 64 位变量上,而其他度量则存储在 32 位变量上。
数据包计数器没有区别,因为该接口上的数据包(尚未)尚未超过 40 亿 (2^32) 个数据包,但由于已传输超过 4 GiB,因此数据包和数据包之间的值不同64。
底线是:在可用时使用 *64 计数器。
大多数 kstat 指标最好的文档是内核源代码。