zoukankan      html  css  js  c++  java
  • mmtests使用简介

    1.简介


    mmtests是一个可配置的测试套件,可以被MM开发者用来进行一个常规测试。理想情况下,它可以与LTP,xfstests等测试工具结合起来实现自动化测试。


    2.软件组织


    run-mmtests.sh脚本用于运行测试,这个脚本会读取config文件,脚本接受一个参数,通常情况下,这个参数表明测试的名字,一般情况下它表明了内核的配置情况,例如

    $:./run-mmtests.sh zswap2G

    其中,每一种测试有对应的config文件,config文件在configs目录下面,测试之前,需要执行cp configs/oneconfig config,然后run-mmtests.sh会读取这个config中的内容,完成相关的测试。

    其中config文件的部分内容如下:

     

    DIRNAME=`dirname $0`
    SCRIPTDIR=`cd "$DIRNAME" && pwd`
    MEMTOTAL_BYTES=`free -b | grep Mem: | awk '{print $2}'`
    NUM_CPU=$(grep -c '^processor' /proc/cpuinfo)
    
    # MM Test Parameters
    export MMTESTS="parallelio"
    export SKIP_WARMUP=yes
    
    # Profiling parameters
    export SKIP_NOPROFILE=no
    export SKIP_FINEPROFILE=yes
    export SKIP_COARSEPROFILE=yes
    export OPROFILE_REPORT_ANNOTATE=no
    
    # Fixups
    if [ "`which check-confidence.pl 2> /dev/null`" = "" ]; then
    	export PATH=$SCRIPTDIR/bin:$PATH
    fi
    if [ "`which record-extfrag 2> /dev/null`" = "" ]; then
    	export PATH=$SCRIPTDIR/fraganalysis:$PATH
    fi
    if [ "`which oprofile_report.sh 2> /dev/null`" = "" ]; then
    	export PATH=$SCRIPTDIR/vmr/bin:$PATH
    fi
    
    # Machine configuration
    # Swap configuration can be one of default, partitions, swapfile, NFS
    #export VM_DIRTY_RATIO=20
    export VM_TRANSPARENT_HUGEPAGES_DEFAULT=default
    export SWAP_CONFIGURATION=default
    export SWAP_PARTITIONS=
    export SWAP_SWAPFILE_SIZEMB=$((MEMTOTAL_BYTES/1048576))
    export SWAP_NFS_MOUNT=192.168.10.7:/exports/`hostname`-swapfile
    export SWAP_NBD_DEVICE=/dev/nbd0
    export SWAP_NBD_HOST=mcp
    export SWAP_NBD_PORT=10001
    #export MEMCG_SIZE=$((MEMTOTAL_BYTES/2))
    
    # Test disk to setup (optional)
    #export TESTDISK_RAID_PARTITIONS="/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1"
    #export TESTDISK_RAID_DEVICE=/dev/md0
    #export TESTDISK_RAID_OFFSET=63
    #export TESTDISK_RAID_SIZE=250019532
    #export TESTDISK_RAID_TYPE=raid0
    #export TESTDISK_PARTITION=/dev/sda6
    #export TESTDISK_FILESYSTEM=ext3
    #export TESTDISK_MKFS_PARAM="-f -d agcount=8"
    #export TESTDISK_MOUNT_ARGS=""
    #
    # Test NFS disk to setup (optional)
    #export TESTDISK_NFS_MOUNT=192.168.10.7:/exports/`hostname`
    #
    # Test NBD disk to setup (optional)
    #export TESTDISK_NBD_DEVICE=/dev/nbd0
    #export TESTDISK_NBD_HOST=mcp
    #export TESTDISK_NBD_PORT=100`ifconfig eth0 | sed -n 2p | cut -d ":" -f2 | cut -d " " -f1 | cut -d "." -f4`
    
    # List of monitors
    export RUN_MONITOR=yes
    export MONITORS_ALWAYS=
    export MONITORS_PLAIN=
    export MONITORS_GZIP="proc-vmstat top slabinfo"
    export MONITORS_WITH_LATENCY="vmstat iostat"
    export MONITOR_UPDATE_FREQUENCY=10


    其中MMtest parameter 和List of monitors比较关键,分别是测试所用的benchmark和monitor,这个和测试的结果有关,产生的测试结果位于mmtests/work/log之下

    测试方式:在mmtests目录之下,执行

    $: ./run-mmtests.sh zswap2G


    3.对比测试结果


    一般情况下,我们已经对内核进行了的不同配置,在相关的环境下进行测试得到了两组不同的结果,这些测试结果在mmtests/work/log目录之下,接下来要作的工作就是比较它们,输入命令(依然在mmtests目录之下):

     ./bin/compare-mmtests.pl -d work/log/ -b parallelio -n nozswap2G,zswap2G

    参数解释

    -d: 测试文件所在目录

    -b:测试所用的benchmark,在config和work/log之中都可以找到

    -n:要对比的文件名字:这个就是在上一步的测试中我们所使用的参数


    4.注意事项:


    1)要进行不同内核的比较,不能用同一份内核源码编译两个内核,这样会导致只有一份vmlinux,systemtap对于原来安装的内核因为无法找到对应的Vmlinux而无法运行

    2)运行mmtests之前,可以监察systemtap是否安装成功:

    stap -ve 'probe begin { log("hello world") exit() }'

    如果输出hello world,说明是正常的

    3)注意内核参数的配置

     

    zswap.enabled=1 zswap.compressor=lzo

    mem=


    本文来源:谁不小心的CSDN博客 mmtests使用简介

    外部参考http://marc.info/?l=linux-mm&m=134702176004919&w=2

    http://marc.info/?l=linux-kernel&m=136870044323912&w=2

    http://marc.info/?l=linux-mm&m=137229863514619&w=2


  • 相关阅读:
    Enable mod_rewrite in apache2.2
    静态注册BroadcastReceiver内部类
    Install MySQL Server 5 on Ubuntu
    Install PHP and Apache
    Android BroadcastReceiver应用详解
    C 简易贪吃蛇的编写
    MyBatis学习存档(1)——入门
    MyBatis学习存档(2)——核心配置文件
    Maven学习存档(2)——settings.xml配置
    Java中的float、double计算精度问题
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3243946.html
Copyright © 2011-2022 走看看