Linux /proc/net/dev单元转换

Linux /proc/net/dev单元转换,linux,type-conversion,Linux,Type Conversion,我正在查看文件/proc/net/dev,并想知道接收字节值的单位转换 以下是我正在考虑的文件部分: Inter-| Receive face |bytes eth0: 7060880392 ifconfig使用/proc/net/dev生成以下内容: eth0 Link encap:Ethernet ... RX bytes:7060880392 (7.0 GB) 这就是我不明白的。假设值的单位是字节(而不是位),我希望通过10

我正在查看文件/proc/net/dev,并想知道接收字节值的单位转换

以下是我正在考虑的文件部分:

Inter-|   Receive
 face |bytes
  eth0: 7060880392
ifconfig使用/proc/net/dev生成以下内容:

eth0      Link encap:Ethernet 
          ...
          RX bytes:7060880392 (7.0 GB)
这就是我不明白的。假设值的单位是字节(而不是位),我希望通过1024的除法转换为GB。706080392/1024/1024/1024=6.6GB。但很明显,ifconfig使用了1000个分区来从B转换为GB


有人能解释他们为什么这么做吗?我知道带宽通常用位表示;也许/proc/net/dev中的标签将值的单位称为字节是不正确的?我检查了proc的手册页,但是这个文件没有太多细节。

术语
GB
表示10个基数,而
GiB
表示2个基数(1024)。阅读更多关于维基百科的内容:


我有根据地猜测,实现者选择使用GB而不是GiB,因为相关信息是发送/接收的字节数,而不是它们的划分以适应“计算机化”计算。

术语
GB
表示10个基数,而
GiB
表示2个基数(1024)。阅读更多关于维基百科的内容:


我有根据地猜测,实现者选择使用GB而不是GiB,因为相关信息是发送/接收的字节数,而不是它们的划分以适应“计算机化”计算。

有没有理由认为这个决定不是任意的?在计算中,前缀G用于10^9和2^30时不一致。然而,前者实际上是正确的,而对于网络流量而言,后者没有意义。另见:我可以任意决定如何使用这些信息。考虑到它是一个卷带宽,通常以位为单位进行测量,并且ifconfig以1000为单位进行单位转换,我倾向于这样做。我想我应该澄清一下:在问为什么时,我试图理解我应该如何准确而不是武断地执行这些转换。是否有任何理由认为这个决定不是武断的?在计算中,前缀G用于10^9和2^30时不一致。然而,前者实际上是正确的,而对于网络流量而言,后者没有意义。另见:我可以任意决定如何使用这些信息。考虑到它是一个卷带宽,通常以位为单位进行测量,并且ifconfig以1000为单位进行单位转换,我倾向于这样做。我想我应该澄清一下:在问为什么时,我试图理解我应该如何准确地执行这些转换,而不是武断地执行这些转换。在考虑位与字节时,人们经常不一致地使用GB/GB/GB/GiB。更重要的是,文件清楚地显示了字节。我不想猜;我想找一份文件来解释我认为的差异。在讨论存储空间时,计算GiB是必要的,而不是数量。存储空间由扇区(大小以2为基数,例如512B硬盘扇区,4096B用于FS群集/块)测量。将HDD空间量化为流是使用GB(基数10)完成的,为此,您计算驱动器上可用的总字节数。计算网络字节数时,计算的是流大小(或数量),而不是将其存储为文件所需的空间。我找不到任何支持我的文章,但是我想不出任何使用GiB的地方与存储/文件无关。这些数字会在某个时候重置吗?这些是终身数字吗?在考虑位与字节时,人们经常不一致地使用GB/GB/GB/GiB。更重要的是,文件清楚地显示了字节。我不想猜;我想找一份文件来解释我认为的差异。在讨论存储空间时,计算GiB是必要的,而不是数量。存储空间由扇区(大小以2为基数,例如512B硬盘扇区,4096B用于FS群集/块)测量。将HDD空间量化为流是使用GB(基数10)完成的,为此,您计算驱动器上可用的总字节数。计算网络字节数时,计算的是流大小(或数量),而不是将其存储为文件所需的空间。我找不到任何支持我的文章,但是我想不出任何使用GiB的地方与存储/文件无关。这些数字会在某个时候重置吗?这些是终身数字吗?