这里主要介绍下自己的操作步骤以及在操作过程中遇到的问题,以对新学者作个借鉴。假定,一切操作均在root权限下。1.在实施之前,首先要确保debugfs被挂载到/sys/kernel/debug默认挂载到的目录是/dev/kernel/debug,也可以设置自己的目录,但在blktrace命令中要通过-r参数指定新选择的路径。一般情况下,选择默认即可。检查方法:$ grep debug /proc/mounts如果debugfs已挂载,应该看到这样的输出:none /sys/kernel/debug debugfs rw 0 0否则的话,要自己挂载:$mount -t debugfs none /sys/kernel/debug这是因为,blktrace要用到debugfs的trace输出,从它的输出中进行分析,必须依赖于它。2.在终端#1,启动blktrace,准备记录设备的访问模式$blktrace /dev/sdb在终端#2,运行应用程序。这里,简单用dd做测试。$dd if=/dev/zero of=/dev/sdb bs=4k count=100 oflag=direct3.回到终端#1,按CTRL+C终止blktrace的运行,由ls命令可看到,在当前目录下出现了新的文件,它的名字与设备名相关,文件个数与CPU个数相同。对我来说,只有一个CPU,出现的文件名为sdb.blktrace.0转化成二进制文件,作为fio的读写日志,即Fio的读写的数据来源。$blkparse sdb -d sdb.bin > /dev/null操作完成后,在当前目录下会生成sdb.bin二进制文件。如果想生成结果文件以查看,可以将/dev/null改为文件名,如file1,则输出结果会保存到file1中,如$blkparse sdb -d sdb.bin > file14.利用fio重放日志fio --name=replay --filename=/dev/sdb --direct=1 --read_iolog=sdb.bin就可以看到结果了。要注意的,fio要采用最近的版本,否则在重放的时候可能会出现问题。我原先采用了apt-get方式安装,默认1.38版本,结果老是报错,纠结了很久。。。。。。后来,采用源码编译安装的方式,更换为更高的1.58版本,立马通过。在编译过程中,可能会报错,要注意libaio的库已安装,即libaio-dev。通过这两步,应该就没什么问题了。(Ubuntu下不同源好像版本不同,有较高版本的,如果需要,可仔细看下。不过,编译也很简单,几分钟的事。。。。)
fio 的详细介绍:请点这里
fio 的下载地址:请点这里Linux rpm 提示安装成功,可是查询的时候发现没有软件列表Ubuntu使用控制台IRC聊天相关资讯 fio Linux基础教程 blktrace
- Linux基础教程:对文件打包压缩 (03月08日)
- 基础教程:Linux 新手应该知道的 (09/06/2015 21:17:20)
- Linux基础教程:find 与 xargs (04/05/2015 10:20:11)
| - Linux基础教程:tar 命令使用介绍 (12/03/2015 13:19:47)
- Linux基础教程(1)操作系统基础 (08/15/2015 20:44:01)
- Linux基础教程:从源码安装软件 (04/05/2015 10:14:45)
|
本文评论 查看全部评论 (0)