Progress and estimated time to write without and with sync
I have found no tool (or straightforward method) that will include flushing the buffers when showing the progress and estimating the estimated time for the whole write process, ETA (Estimated Time of Arrival).
pv
can show the time for the progress as seen by the operating system, but if the target drive is slow and there is a lot of RAM, it shows only the time until the data are written to a buffer. This time can be a small fraction of the the real time until the buffers are flushed.dd
writes a final report about amount of data used time and transfer rate. It can also be made to write 'progress' reports. It used to give a much better estimate thanpv
, but nowadays the USB drives and memory cards are still very slow, while the other processes are fast and the available memory for buffers big. Sodd
will also finish long before the buffers are flushed.I can 'time' the write process including
sync
with thetime
commandtime ( write command; sync )
and it will give me the real time used which is useful, but only after it has finished. It does not show the progress and does not estimate the total remaining time.
I can run
iotop
to show read and write processes and how fast things are read and written, but it does not estimate the remaining time.
How to show progress and estimated time for the whole write process?
How can I show progress and estimated time for the whole write process, ETA (Estimated Time of Arrival), including flushing the buffers with sync
?
dcfldd
instead of usingdd
. It works exactly likedd
on its paremeters but with the addition that it has a progress bar while the writing command is executing...alias sync-watch='watch grep -e Dirty: -e Writeback: /proc/meminfo'
. I think that could help you as it's the raw information you need.