小编cts*_*cts的帖子

为什么到 dd 管道的 gunzip 最终会变慢?

我的命令:

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 几乎没用,我不想在写入后损坏我的驱动器。

linux gzip dd sd-card iotop

5
推荐指数
1
解决办法
4695
查看次数

标签 统计

dd ×1

gzip ×1

iotop ×1

linux ×1

sd-card ×1