arm开发板使用fio测试磁盘读写速度

🍎1. 引言

在这里插入图片描述
Fio是意大利富豪家的独生女。由于家中世世代代以军为职,而且因为常居军中高位而在意大利是非常显赫的一家,既然如此,Fio的父亲自然非常希望能有个儿子,偏偏生下个女孩,并且妻子已经无法再生育,于是Fio成了独生女,而后Fio参与了合金弹头系列的游戏……
扯歪了,回归正题……
本文的目的是测试基于arm开发板上的Linux系统下的磁盘性能,通过fio测试开发板运行时的磁盘性能系数。

🍎2. FIO介绍

fio是一个IO测试工具,可以运行在Linux、Windows等多种系统之上,可以用来测试本地磁盘、网络存储等的性能。可以通过运行响应的fio负载,测试不同平台下磁盘的性能。

​ 关于fio的详解其他博主已经写的十分详细了,可以看下这位Linux -fio命令详解的文章 这里描述以下我在使用过程中的一些小坑

  1. 参数 -filename所针对的是裸设备,什么是裸设备?顾名思义就是什么都没有的设备,这就说明只适合拿来测试空的磁盘,对于非空的磁盘,会导致磁盘内的分区被破环,最终系统会崩溃(这是真的,我第一次使用时,系统崩溃了,还以为是我用错命令了,重新烧录系统后进行第二次测试才发现库文件正在被删除,果断放弃使用这个参数)
  2. 针对上面的问题,若一定要测试系统分区的性能,那么可以在根目录下创建一个空目录,在测试命令中使用参数 -directory指定该目录

🍎3. fio移植ARM开发板

这里有一个问题需要注意:你得开发板所支持的交叉编译链版本是多少(4.9以上/4.9以下),是哪个平台(如aarch64/arm),找到自己开发板能使用的fio版本,我这里使用的时fio的2.1.10版本,交叉编译链是arm-linux-gnueabihf-g+±4.6。如果你的情况也是这个的话,可以直接下载我这里编译好的,移植到开发板即可

🍇3.1 若没安装过交叉编译链

  1. 安装交叉编译链
sudo apt install g++-arm-linux-gnueabihf
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
  1. 下载编译fio
git clone git://git.kernel.dk/fio.git
cd fio
make

🍇3.2 安装有交叉编译链

git clone git://git.kernel.dk/fio.git
cd fio
make clean
make CROSS_COMPILE=/path/arm-linux-gnueabihf-	//path为你的交叉编译链安装的位置

🍇3.3 移植到开发板上

我没有用过串口,所以串口怎么传输的我不太懂……
我用的是Xftp传输的文件,参考Xshell远程连接虚拟机

🍎4. fio使用

这里我只是简单的测试了磁盘的读写性能,关于其他的没有更多的涉及,详细部分可以参考介绍里那位博主的文章

  1. 文件移植到开发板后,需要给fio文件增加执行权限
cd fio
chmod +x fio
  1. 下面是六种测试方法
// 顺序读
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=read
// 顺序写
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=write
// 随机读
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=randread
// 随机写
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=randwrite
// 顺序读写
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=rw
// 随机读写
sudo ./fio -directory=/home/ubuntu/test -direct=1 -numjobs=1 -thread -group_reporting -ioengine=psync -iodepth=1 -size=128M -name=mytest -bs=1K -rw=randrw
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ltd Pikashu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值