dd if=/dev/zero of=tmp.dat bs=1M count=1024 status=progress
500G HDDでコマンドを実行すると、次のような結果が表示されます。
833617920 bytes (834 MB, 795 MiB) copied, 1 s, 829 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.41974 s, 756 MB/s
私が知る限り、SATAの機械式ドライブは約100MB/s程度であることがわかっていますが、これは偽物のようです(756MB/s!)。
これを確認するために、私は走ってsudo hdparm -t /dev/sda
得た。
/dev/sda:
Timing buffered disk reads: 350 MB in 3.01 seconds = 116.26 MB/sec
これがより合理的なようです(116MB/s)。
しかし、状況をさらに混乱させるために別のテストを実行しました。 (rm tmp.dat;dd if=/dev/zero of=tmp.dat bs=1M count=512 status=progress
同じ仕事、データの半分のコピー)はるかに悪い結果が出ました。
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 0.576224 s, 932 MB/s
機械式ドライブの読み取り/書き込み速度は毎秒ほぼギガバイトです! SATA + HDDにこのサイズのファイルをコピーするのに1秒(0.576秒)もかからないのはどのように可能ですか? ddレポートとhdparmレポートの間に違いがあるのはなぜですか?出力ファイルのサイズによって変わるのはなぜですか?
明らかにここに何かがありました。 *nixマスター様、教えてください