为什么 dd 计算速度时使用 k=1000。这是一个错误吗?

为什么 dd 计算速度时使用 k=1000。这是一个错误吗?

这是我的输出dd if=/dev/st0 of=/dev/null bs=512k

195401+12251 records in
195401+12251 records out
104857600000 bytes (105 GB) copied, 877.728 seconds, 119 MB/s

如果我们取 MB = 1024 * 1024,我们将获得以下速度:

104857600000 / 877.728 / 1024 / 1024 = 113.9305115024244 = 114 MB/s

但是,输出表明 MB 实际上是 1000 * 1000,下面是证明:

104857600000 / 877.728 / 1000 / 1000 = 119.4648000291662 = 119 MB/s

这是 bug 还是啥?!

答案1

猜测一下,但如果你读过dd 手册页,smallk可能被接受为 的缩写kB,表示 1000 字节。因此,它可能使用与您在参数中指示的相同除数输出统计数据bs=

相关内容