## 挂载U盘
mount -t vfat /dev/sda1 /var/sdcard
## 测试写入100MB速度
sync;time dd if=/dev/zero of=/var/sdcard/largefile bs=10k count=10240;time sync
## 测试读取100MB速度 (清除缓存)
sync;echo 3 > /proc/sys/vm/drop_caches;time dd if=/var/sdcard/largefile of=/dev/null bs=10k
上述测试方法就相对比较准确!
写入100MB时,先刷新flash后,才测量dd命令生成100MB到缓存(同时也有部分正在写入flash)的时间Tdd,最后测量sync的时间Tsync,这个时间即为从缓存写到U盘的时间。平均写入速度为:100MB/(Tdd+Tsync)。
测量读取速度时,亦先sync把缓存中的杂数据写写进flash,并且清除缓存。最后才记录dd命令从U盘写入RAM的时间Tdd,因为/dev/null为tmpfs,没必要计算Tsync,平均读取速度为:100MB/Tdd。
另外,time命令算出的时间要使用real对应的值。