Dd

使用dd複製磁碟時如何檢查進度?

  • February 29, 2012

可能重複:

dd:我怎麼知道它是否還在工作?

我正在使用dd將磁碟複製到圖像文件,並動態壓縮它:

dd if=/dev/sda | gzip > /mnt/image_file

如何檢查dd已經處理了多少數據?

查看輸出文件的大小當然是沒有用的,因為它被壓縮了。

大多數dd實現在接收時列印狀態資訊SIGUSR1pkill -USR1 -x dd可能是你想要的。

試試看pv,管道查看器。我剛剛測試過,它可以/dev/sda直接執行,這意味著你甚至可以獲得一個確定的進度條。


關於時代:

我用dd if=/dev/urandom of=random bs=4k count=10000. 然後我嘗試了幾種閱讀方法:

$ time dd if=random | gzip >rand.gz
800000+0 records in
800000+0 records out
409600000 bytes (410 MB) copied, 17.9261 s, 22.8 MB/s

real    0m17.940s
user    0m16.545s
sys     0m1.248s
$ time pv random | gzip >rand.gz
391MB 0:00:17 [22.1MB/s] [==================================>] 100%            

real    0m18.048s
user    0m16.477s
sys     0m1.048s
$ time <random gzip >rand.gz

real    0m18.410s
user    0m16.401s
sys     0m0.596s

我再次執行它,pv並且dd比 更接近和更低<。我得出的結論是,在很小的誤差範圍內,pv和的性能是相同的。dd

引用自:https://unix.stackexchange.com/questions/33099