# 开发板必备工具安装(若未预装)
opkg update
opkg install coreutils-sync coreutils-dd e2fsprogs-mke2fs
echo 3 > /proc/sys/vm/drop_cachesdd命令直读设备dd if=/U盘路径 of=/dev/null bs=块大小速度 = 数据量(字节) / 耗时(秒)| 参数 | 作用 | 推荐值 |
|---|---|---|
bs |
每次读写块大小 | 1M (大文件) 4k (小文件) |
count |
读写块数量 | 100(100MB测试) |
if |
输入文件 | /dev/sda1(U盘分区) |
of |
输出文件 | /dev/null(丢弃数据) |
conv |
转换参数 | fsync(物理落盘) |
# 插入U盘到USB2.0接口
dmesg | tail -10 # 查看内核日志

# 创建挂载点
mkdir -p /mnt/usb_test
# 挂载U盘(根据实际文件系统选择)
mount -t exfat /dev/sda1 /mnt/usb_test # exFAT格式
# mount -t vfat /dev/sda1 /mnt/usb_test # FAT32格式
# 验证挂载
df -h | grep usb_test
# 正确输出:/dev/sda1 30G 0% /mnt/usb_test
# 创建测试文件
dd if=/dev/urandom of=/mnt/usb_test/read_test.bin bs=1M count=1000 conv=fsync
# 同步数据到物理设备
sync
# 清除页缓存、目录项和inode缓存
echo 3 > /proc/sys/vm/drop_caches
# 验证缓存清除(查看内存状态)
free -m
# Buffers和Cached应接近0

# 测试连续读取速度
time dd if=/mnt/usb_test/read_test.bin of=/dev/null bs=1M

从测试数据中,可以分析出以下信息:
| 测试类型 | 数据量 | 耗时 | 速度 | 瓶颈分析 |
|---|---|---|---|---|
| 写入测试1 | 100MB | 5.428s | 19.4 MB/s | USB2.0接口极限 |
| 写入测试2 | 601MB | 30.998s | 19.4 MB/s | 速度一致性良好 |
| 读取测试 | 601MB | 26.934s | 22.3 MB/s | 读取快于写入 |
写入速度:19.4 MB/s → 155.2 Mbps
读取速度:22.3 MB/s → 178.4 Mbps
结论 :符合 USB2.0理论带宽(480Mbps)的30-40% ,典型USB2.0设备表现
更多回帖