这是第一次写的文章,见谅噢。
一.环境:
linux开发板USB3.0接口+U盘USB3.0接口。
可以用lsusb查看u盘是否插上。
使用 df -h
df -h
是一个用于显示磁盘空间使用情况的命令。通过运行这个命令,你可以看到文件系统的信息,包括文件系统的大小、已用空间、可用空间、使用率等。
df -h
结果:
df -h
/dev/block/dm-8 24G 36M 24G 1% /data 我的内部存储地址
/dev/fuse 58G 768K 58G 1% /mnt/user/0/7738-9472 我的U盘
如果不知道哪个是内部的,哪个是外部的,可以问GPT,一般是这些目录。
以下步骤都是基于 内部磁盘在/data ,外部 u盘挂载在/mnt/user/0/7738-9472
二.测试:
都是USB3.0
测试写速率
echo 3 > /proc/sys/vm/drop_caches //用处:清除缓存,具体的可以自己搜索一下
busybox dd if=/dev/zero of=/mnt/user/0/7738-9472/1 bs=4K count=256K conv=sync //将zero源写入u盘,得到写的测试速率。
ps:
1.这个命令的作用是在路径 /mnt/user/0/7738-9472/1
创建一个大小为 1GB 的文件,文件中的数据都是零。这可以用来测试磁盘的写入性能,因为写入零数据会反映出设备的写入速度。
2.dd 命令,可以加conv=fsync,表示将缓存中的数据写入磁盘。
结果:
注意这个1文件,这个是什么全是零文件,就是里面啥都没有,但是就是占用1个G,用来测试的,下面会把这个1重新读到linux里面哦。
测试读速率
echo 3 > /proc/sys/vm/drop_caches //清除缓存,每次测一次都要清除,要不然会快很多
busybox dd if=/mnt/user/0/7738-9472/1 of=/dev/null bs=4K count=256K
//往/dev/null 里面读一个1G大小的文件。null也是一个空源。具体可以查别的文章了解一下。
USB2.0接口最大支持480 Mbp≈60MB/ss,
USB3.0接口最大支持5.0Gbps,也就是640MB/s
原因:USB协议开销,USB带宽的分配,硬件结构,USB设备驱动程序。(u盘厂家等等因素)
实际综合条件USB2.0下4 MB/s至30 MB/s都可以作为合理的高速目标。而且写会偏慢,读会偏快。USB3.0下15 MB/s至190MB/s 作为合理的高速目标