Linux如何测试USB硬盘的读写速度

本文介绍如何使用Linux下的dd命令测试USB硬盘的读写速度。文章详细解释了命令参数的意义,并演示了如何清除缓存以获取真实的读取速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        我们在使用外接的USB硬盘,经常想知道硬盘的实际读写速度到底有多少,因此就想找工具来测试一下实际的读写速度。在Linux下,一条简单的名利'dd'就可以帮我们到达这个目的。

        以下内容是关于如何使用‘dd’命令来测试USB硬盘的读写速度。

        1. 测试写速度:

$ sudo mount /dev/sdd /mnt
$ cd /mnt
$ dd if=/dev/zero of=./write_file bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 11.266 s, 95.3 MB/s

        dd 命令从输入文件(if=/dev/zero)读入空字符,然后以1M大小的块通过1024次总共1GB数据写入输出文件(/mnt/write_file)。我们可以看到写速度是95.3 MB/s。

       2. 测试读速度:

dd if=./write_file of=/dev/null bs=4k
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.342886 s, 3.1 GB/s

        如果我们做完写速度测试,就进行读速度测试就会得到上面的假象,以为读速度超快可以达到3.1GB/s。这是因为刚进行完写操作,数据还存在缓存(cache) 里,因此读操作时直接从cache读而不是从硬盘里读取的。

        因此在测试读速度时,我们需要先清一下缓存cache:

$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

        清完缓存cache后,再做一次读测试就可以得到真正的读速度了。

$ dd if=./write_file of=/dev/null bs=4k
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 9.54418 s, 113 MB/s

        实际读速度是98.6 MB/s

        注:/dev/null 代表空设备文件,它等价于一个仅仅写文件,全部写入它的内容都会永远丢失。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值