kstat bytes 和 bytes64 之间的区别

kstat bytes 和 bytes64 之间的区别

我最近开始玩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 指标最好的文档是内核源代码。

相关内容