bs运行dd刷新 Ubuntu 映像时使用什么是合理的?我在用:
dd if=ubuntu-17.04-server-amd64.iso of=/dev/sda bs=1M
Run Code Online (Sandbox Code Playgroud)
该ubuntu-17.04-server-amd64.iso文件是685 M.
我在一个强大的服务器上运行这个 dd 操作,使用bs=1M. 大约需要 3 分钟(154 秒):
718274560 bytes (718 MB) copied, 154.192 s, 4.7 MB/s
Run Code Online (Sandbox Code Playgroud)
我假设如果我使用更高的bs, like bs=500M,它会更快(虽然我没有检查它)。
bs=对于此类 dd 命令,推荐和可靠的是什么?
sud*_*dus 14
dd块大小是bs=4096几年前,我测试了不同的块大小,发现bs=4096在大多数情况下这是一个很好的值。将块大小增加到更高的值没有太大区别。如果我理解正确的话,它也是多个程序(cat、cp 等)使用的值。这是用于mkusbdd引擎盖下的块大小。
自从我测试了不同的块大小后,情况可能发生了变化,但我认为您的情况下的速度受到闪存硬件的限制。即使通过 USB 2 连接,快速 USB 3 笔式驱动器或快速存储卡的速度也将提高 5 倍(~25 MB/s)。请参阅此链接和其中的链接,
help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed
因此您可以继续使用bs=1M或使用bs=4096.
如果您愿意,可以尝试一些不同的块大小,但不要指望有任何大的改进。请回来报告结果,特别是如果您发现重大改进。在这种情况下,指定硬件和操作系统(Ubuntu 版本)也很重要。
我再次测试,使用当前的 Lubuntu 16.04 LTS 版本,以及不同类型和年龄的计算机硬件,如下表和图表中所述。
测试详情
dd都使用了纯命令行(没有通过管道pv或类似命令)。大多数测试是从安装在 SSD 中的 Lubuntu 16.04.2 LTS amd64 系统(带有 yakkety 内核)运行的,但在 HP xw8400 工作站中运行的测试是在内部安装了 Lubuntu 16.04 LTS i386 系统(带有 xenial 内核)硬盘。
“Extreme”和“Cruzer_blade”是 Sandisk USB 闪存盘型号
'os port' 是 SSD 或 HDD 与操作系统的连接位置
下表列出了更多详细信息,由于log (block size)块大小值范围的特性,下图中沿 x 轴说明了由于块大小而导致的变化,
结论
默认块大小bs=512(字节)使dd速度变慢。
bs=4096 to 4M以“全速”运行的块大小进行克隆。测试用例之间只有细微的差别(除了bs=512)。
| 归档时间: |
|
| 查看次数: |
17762 次 |
| 最近记录: |