Warum verwendet dd berechnete Geschwindigkeit k = 1000? Ist es ein Bug?

0

Hier ist eine Ausgabe von meinem 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

Wenn wir MB = 1024 * 1024 nehmen, erhalten wir die folgende Geschwindigkeit:

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

Die Ausgabe legt jedoch nahe, dass MB stattdessen 1000 * 1000 ist, und hier ist ein Beweis:

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

Ist es ein Bug oder was ?!

Grzegorz
quelle
1
Das ist ein Megabyte-gegen-Mebibyte-Ding. ( de.wikipedia.org/wiki/Mebibyte )
ChrisInEdmonton
@ ChrisInEdmonton - Chris, das habe ich verstanden, aber seit wann verwendet dd die metrische Version ?! Ich erinnere mich an Zeiten, als 1 MB HD '1024 * 1024' war. Dann kam WD herein und es war '1000 * 1024'. Jetzt benutzt dd '1000 * 1000'? !!!
Grzegorz

Antworten:

0

Wilde Vermutung, aber wenn Sie die dd-Manpage lesen , wird das kleine kmöglicherweise als Abkürzung für akzeptiert kB, was 1000 Bytes bedeutet. Es kann also sein, dass die Statistik mit demselben Divisor ausgegeben wird, den Sie mit dem bs=Parameter angegeben haben.

LawrenceC
quelle
Netter Versuch, aber sollte es dann nicht Mb anstelle von MB ausdrucken? Ich habe gerade versucht, Standardblockgröße (512b) und es verwendet 1000 * 1000 als MB. Ich bin sehr enttäuscht (wenn es irgendeinen Sinn macht), dass es 1000 statt 1024 verwendet. Meine Werkzeuge werden zwar plötzlich schneller sein, aber das ist nicht das, was ich erwartet habe.
Grzegorz