我的命令:
gunzip -c serial2udp.image.gz |
sudo dd of=/dev/mmcblk0 conv=fsync,notrunc status=progress bs=4M
Run Code Online (Sandbox Code Playgroud)
我的输出:
15930949632 bytes (16 GB, 15 GiB) copied, 1049 s, 15.2 MB/s
0+331128 records in
0+331128 records out
15931539456 bytes (16 GB, 15 GiB) copied, 1995.2 s, 8.0 MB/s
Run Code Online (Sandbox Code Playgroud)
卡:SanDisk Ultra 32GB MicroSDHC Class 10 UHS 存储卡速度高达 30MB/s
发行版:16.0.4 xenial with xfce
内核版本:4.13.0.37-generic
我知道从我读过的内容来看,花 17 分钟似乎是合理的。玩块大小似乎并没有太大区别(bs=100M 仍然表现出类似时间戳的这种行为)。为什么更新挂起,并且在 16 分钟内没有生成完成的报告?
iotop 告诉我 mmcqd/0 此时仍在后台运行(以 99% IO),所以我认为某处有一个缓存占用了最后的 5MB,但我认为 fsync 应该确保不会发生iotop 显示此时 dd 也没有交通路口。ctrl-c 几乎没用,我不想在写入后损坏我的驱动器。