web-dev-qa-db-ja.com

読み取りと書き込み中にddが遅くなります

user @ user-laptop:〜$ Sudo dd if = sd_backup of =/dev/sdd bs = 4M conv = noerror、sync

205520896 bytes (206 MB) copied, 28.564 s, 7.2 MB/s
247463936 bytes (247 MB) copied, 57.1285 s, 4.3 MB/s
260046848 bytes (260 MB) copied, 73.2388 s, 3.6 MB/s
289406976 bytes (289 MB) copied, 104.121 s, 2.8 MB/s
301989888 bytes (302 MB) copied, 119.627 s, 2.5 MB/s
318767104 bytes (319 MB) copied, 134.332 s, 2.4 MB/s
331350016 bytes (331 MB) copied, 149.977 s, 2.2 MB/s
343932928 bytes (344 MB) copied, 164.332 s, 2.1 MB/s
360710144 bytes (361 MB) copied, 180.361 s, 2.0 MB/s
432013312 bytes (432 MB) copied, 258.438 s, 1.7 MB/s
444596224 bytes (445 MB) copied, 273.024 s, 1.6 MB/s
616562688 bytes (617 MB) copied, 452.296 s, 1.4 MB/s
641728512 bytes (642 MB) copied, 482.516 s, 1.3 MB/s

この8GBファイルをコピーした後、ddが遅くなるのはなぜですか?私はそれについて何ができますか?

6
Karlo

Linuxは書き込みをキャッシュするため、最初は間違った数値が表示されています。また、ディスクキャッシュは読み取りを高速化する可能性があります。

しばらくすると、キャッシュが消費され(読み取りと書き込みの両方)、速度が低下します。 ddは全体の速度を計算するため、速度は常に低下しているように見えます。実際、最初は非常に速く、その後は遅くなりましたが、平均はゆっくりと低下します。

前のdd(または別のディスクを集中的に使用する操作)を終了してからしばらく待つと、キャッシュが書き出され、(最初は)再び高速になるはずです。

4
Olli