- 结果筛选
D:WorkProjectEVT>find "write: IOPS" 全部硬盘fio.log
D:WorkProjectEVT>find ": io" 全部硬盘fio.log
将两个结果并排放在exl中,进行分列筛选即可
- 测FIO时,同时监控HDD温度及带宽的方法
前提:先把fio跑起来
1."# smartctl -i /dev/hdb 检查硬盘是否支持SMART
smartctl -a /dev/nvme0n1 |grep -i temp 看温度
注意:千万不能组成RAID,否则会导致HDD变成RAID模式,将不支持smartctl"
可以用自动监控硬盘温度脚本来记录读数,注意改下HDD的名字
2.iostat -xm 2 实时显示盘的读写
用来观察带宽和占用率是否有下降,然后记录截图
注意:fio用跑顺序写,因为这个占用率高
- 注意,
①单跑fio的时候:当硬盘带宽明显跑的不够高时,尤其是比dd低好多的时候,要考虑将jobsnum的值改为1.
②和cpu压力同时跑的时候:当硬盘有时是nvme速率明显下降的时候,要适当增加jobsnum的值,比如说从1升到8
在iostat -mx 2界面下看,如果硬盘的%util没有到100%,那就是numjobs小了,否则该值只可能更大
原因分析:正常情况下,一个CPU线程的处理速度远高于HDD的速度,所以用一个进程即可满足,但如果改成多线程,将会导致读写操作在这些线程中来回切换,所以速率反而降低。
与CPU压力同时跑时,由于CPU的线程被调去跑压力,导致线程分配给fio读写的资源不足,不足以达到HDD的满性能读写,所以适当增加一些线程,让多个线程一起供SSD资源,可以提高速率。
经验证,numjobs数量增大不会影响速率?!
③看看hdd的空间是不是满了,导致写入缓慢。
首先,可以比较一下读写的差异是不是很大,如果大,很可能是hdd满了。
Nvme查看磁盘使用量的方法:
[root@localhost 桌面]# yum install nvme-cli
[root@localhost 桌面]# nvme list
如果已经满了,进行格式化hdd
[root@localhost 桌面]# mkfs.ext4 /dev/nvme1n1
格式化完毕后,在看一下,注意显示可能有延时,多刷几遍。
- 找到系统中某个hdd对应的位置。
方法1、用如下命令:
| [root@localhost ~]# smartctl --all /dev/nvme2n1 |
找到里面的sn信息:
| Model Number: INTEL SSDPE2KX040T8 Serial Number: PHLJ11100A1N4P0DGN |
然后再去找对应的实物hdd即可。
方法2、如果是raid卡控制的,用raid点亮led的方式:
点亮HDDled:diver management---选中一块盘--option--start locate-- go,确认完之后记得要stop locate掉



