fxmark测试

本文介绍了在CentOS7环境下如何进行fxmark测试,包括解决虚拟机CPU缺少rdtscp选项的问题。通过修改qemu配置启用rdtscp,调整fxmark的运行配置,并对fxmark源码进行阅读和调试,以适应不同的测试需求。测试过程中,遇到的错误是由于缺少rdtscp指令,通过为虚拟机CPU添加相应选项得以解决。
摘要由CSDN通过智能技术生成

fxmark测试

参考:https://arkingc.github.io/2018/12/08/2018-12-08-linux-benchmark-fxmark/

本人环境centos7


小结:

问题:虚拟机CPU无rdtscp选项

解决:qemu中添加即可+rdtscp

fxmark测试配置:

  1. run_config中进行配置:(“ssd”, “ext4”, “DWOL”, “5”, “bufferedio”))
  2. 重新设置Runner.SSDDEV = “/dev/mydevice”,其他参数如disk_size和duration也可设置
  3. 定制fs的测试,需要自行添加fs的mount函数到self.HOWTO_MOUNT和self.HOWTO_MKFS中
  4. 定制microbench
(1) 在src/下参考其他microbench编写新.c文件,实现其中pre_work,main_work。
(2) 在fxmark.h中添加extern struct bench_operations xxxxxx_ops;
(3) 在fxmark.c中bench_table[]中添加{"MRPM",
	                                 "path resolution: 描述",
	                                  &n_path_rsl_ops}
(4) 在run-fxmark.py的self.BENCH_TYPES中添加刚刚生成的MRPM

1. 安装与使用

install & build

  1. 安装文件系统特定的package(如mkfs)
$ bin/install-fs-tools.sh
# btrfs-tools: mkfs自带
# f2fs-tools:
https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
wget https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git
yum install libuuid-devel pkg-config autoconf libtool
./autogen.sh
./configure
make
在mkfs下面就会生成mkfs.f2fs工具
# jfsutils:
有问题,没装
下载 http://jfs.sourceforge.net/
tar -xzvf jfsutils-1.1.15.tar.gz
./configure
make
make install

# nilfs-tools: 对应nilfs-utils安装
见https://github.com/nilfs-dev/nilfs-utils
git clone https://github.com/nilfs-dev/nilfs-utils.git
yum install libuuid-devel libmount-devel libblkid-devel libselinux-devel
cd nilfs-utils
./autogen.sh
./configure
make
# reiserfsprogs:
https://ftp.osuosl.org/pub/blfs/conglomeration/reiserfsprogs/
wget ...
yum install libacl-devel
xz -d reiserfsprogs-3.6.27.tar.xz
tar xvf reiserfsprogs-3.6.27.tar
cd reiserfsprogs-3.6.27
./configure
make
make install
# xfsprogs:  yum install 即可
  1. 安装fxmark和python3.6
cd fxmark
make


#安装EPEL依赖
sudo yum install epel-release

#安装IUS软件源
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

#安装python3.6
sudo yum install python36u

#安装Python3完成后的shell命令为python3.6,为了使用方便,创建一个到python3的符号链接
ln -s /usr/bin/python3.6 /usr/bin/python3

#安装完成python36u并没有安装pip,安装pip
sudo yum install python36u-pip

#安装pip完成后的shell命令为pip3.6,为了使用方便,创建一个到pip3的符号链接
ln -s /usr/bin/pip3.6 /usr/bin/pip3
  1. 运行

(1). benchmark配置

  • 在bin/run-fxmark.py中设置目标设备,如Runner.LOOPDEV
  • 在bin/run-fxmark.py中配置,如run_config

(2). 运行benchmark

bin/run-fxmark.py
  • 在logs目录下会生成一个带启动时间的log文件
  1. 运行不出来结果,转去看fxmark源码

fxmark源码阅读

源码结构:

fxmark
  |------bin #一些python脚本,主要是run-fxmark.py, fxmark可执行程序,其他python脚本辅助
  |------logs   #输出运行结果
  |------script
  |------src  #包含fxmark主函数,和每个microbench的C文件
  |----
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值