我正在查看文件/ proc/net/dev并想知道接收字节值的单位转换。/proc/net/dev单位转换
这里是我考虑的文件的一部分:
Inter-| Receive
face |bytes
eth0: 7060880392
ifconfig使用的/ proc /净/ dev的生成以下:
eth0 Link encap:Ethernet
...
RX bytes:7060880392 (7.0 GB)
这就是我不明白。假定值的单位是以字节为单位(而不是位),我预计会通过1024的分区转换为GB。7060880392/1024/1024/1024 = 6.6GB。但很明显,ifconfig已经使用1000的分区从B转换为GB。
有人可以解释他们为什么这么做吗?我知道带宽通常用比特表示;也许在/ proc/net/dev中的标签在将字节的单位称为字节时不正确?我检查了proc的manpage,但是这个文件没有太多的细节。
有没有任何理由认为这个决定不是任意的? –
在计算中,前缀_G_不一致地用于10^9和2^30。然而,前者实际上是正确的,而对于网络流量来说后者是没有意义的。另见:http://en.wikipedia.org/wiki/Binary_prefix – nosid
我可以任意决定如何使用这些信息。鉴于它是一个卷带宽,通常以位为单位进行度量,并且ifconfig以1000的分区执行单位转换,我倾向于这样做。 我想我应该澄清一下:在问为什么时,我试图了解我应该如何准确地执行这些转换,而不是随意进行。 – Secesh