linux U盘传输速度

一. U盘传输速度简介

  1、目前U盘主要为采用USB 2.0和3.0两种接口,其中USB 2.0理论传输速度为480 Mbps,即60 MB/s;USB 3.0理论传输速度为5.0Gbps,也就是640MB/s;

  2、不过限制于硬件的原因,因此U盘并不能达到理论的读写效率,在USB2.0接口下的U盘写速度一般是4-15M/S  读取一般是10-30M/S算比较好的U盘了;

  3、USB3.0接口下的U盘写速度一般是15-80M/S,读取速度一般是20-90M/S,当然有一些高端的U盘产品已经能够达到读取190m/s和写入180m/s的速度;

 

以下测试在某硬件平台上,不作为所有硬件平台的标准(测试usb 3.0接口的读写速度)

二. 读写优盘测试方法

2.1 linux命令dd

 2.2.1 写入速度

~$ sudo dd if=/dev/zero of=/dev/sdb bs=10M count=100;time sync
记录了100+0 的读入
记录了100+0 的写出
1048576000 bytes (1.0 GB, 1000 MiB) copied, 35.9307 s, 29.2 MB/s

real    0m0.007s
user    0m0.001s
sys    0m0.000s

写入1GB时,先刷新flash后,才测量dd命令生成1GB到缓存(同时也有部分正在写入flash)的时间Tdd,最后测量sync的时间Tsync,这个时间即为从缓存写到U盘的时间。平均写入速度为:1GB/(Tdd+Tsync)。

2.1.2 读取速度

~$ sudo sync;sudo  echo 3 > /proc/sys/vm/drop_caches;time dd if=/dev/sdb of=/dev/null bs=10M count=100
bash: /proc/sys/vm/drop_caches: 权限不够
dd: 打开'/dev/sdb' 失败: 权限不够

real    0m0.001s
user    0m0.001s
sys    0m0.000s
读取速度未测,平台暂时不能设置root密码,sudo命令不能清除缓存

测量读取速度时,亦先sync把缓存中的杂数据写写进flash,并且清除缓存。最后才记录dd命令从U盘写入RAM的时间Tdd,因为/dev/null为tmpfs,没必要计算Tsync,平均读取速度为:1GB/Tdd。

部分参数解析:

1. 把/dev/null看作"黑洞", 它等价于一个只写文件, 所有写入它的内容都会永远丢失

2. /dev/zero是一个伪文件, “零”设备,可以无限的提供空字符(0x00,ASCII代码NUL)。

 

2.2  hdparm

 

 

有资料说明linux在开启debug模式的时候可以做到查看usb设备速度,这点没有做测试:

debug 模式下 cat /sys/kernel/debug/usb/devices

 

另,u盘传输速度还与什么相关,在知乎中我们找到了和主控器以及存储设备相关

https://www.zhihu.com/question/52736281

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值