/**********************************************************************
* Buildroot lmbench使用方法
* 说明:
* 想在i.mx6上用Buildroot编译出lmbench,结果发现全是单独的命令,不知道
* 怎么使用,脚本需要用到perl,所以编译需要选好perl。
*
* 2018-6-21 深圳 宝安西乡 曾剑锋
*********************************************************************/ 一、参考文档:
. Performances
http://www.armadeus.org/wiki/index.php?title=Performances
. Linux系统性能测试工具Lmbench
https://wiki.deepin.io/mediawiki/index.php?title=Linux%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7Lmbench
. 性能测试工具Lmbench使用说明
https://wenku.baidu.com/view/aa29812727d3240c8447ef9a.html 二、解决办法:
. 将Buildroot编译出来的文件夹打包,目前我自己的是:/output/build/lmbench-3.0-a9
. 拷贝到主板上解压;
. cd /jump/to/lmbench/dir/
. cd scripts
. OS=arm ./config-run (生成的配置放在后面)
MULTIPLE COPIES [default ]
Job placement selection:
MB [default ]
SUBSET (ALL|HARWARE|OS|DEVELOPMENT) [default all] HARDWARE
then default value (except for result mailing, choose no) except
Processor mhz [default MHz, 5.2910 nanosec clock]
FSDIR [default /var/tmp] /mnt/host/
Mail results [default yes] no
. OS=arm ./results
Using config in CONFIG.buildroot
Sat Jan :: UTC
Latency measurements
Sat Jan :: UTC
Calculating file system latency
Sat Jan :: UTC
Local networking
Sat Jan :: UTC
Bandwidth measurements
Sat Jan :: UTC
Calculating context switch overhead
Sat Jan :: UTC
McCalpin's STREAM benchmark
Sat Jan :: UTC
Calculating memory load latency Sat Jan :: UTC
. ./getsummary ../results/arm/*,
L M B E N C H 3 . 0 S U M M A R Y
------------------------------------
(Alpha software, do not distribute) Basic system parameters
------------------------------------------------------------------------------
Host OS Description Mhz tlb cache mem scal
pages line par load
bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ----
buildroot Linux 4.1.15+ arm 996 64 2 Processor, Processes - times in microseconds - smaller is better
------------------------------------------------------------------------------
Host OS Mhz null null open slct sig sig fork exec sh
call I/O stat clos TCP inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
buildroot Linux 4.1.15+ 996 0.23 0.56 5.70 12.1 19.7 0.66 4.03 1303 3049 7073 Basic integer operations - times in nanoseconds - smaller is better
-------------------------------------------------------------------
Host OS intgr intgr intgr intgr intgr
bit add mul div mod
--------- ------------- ------ ------ ------ ------ ------ Basic uint64 operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host OS int64 int64 int64 int64 int64
bit add mul div mod
--------- ------------- ------ ------ ------ ------ ------ Basic float operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------
Host OS float float float float
add mul div bogo
--------- ------------- ------ ------ ------ ------ Basic double operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host OS double double double double
add mul div bogo
--------- ------------- ------ ------ ------ ------ Context switching - times in microseconds - smaller is better
-------------------------------------------------------------------------
Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- -------
buildroot Linux 4.1.15+ 3.6900 10.8 21.9 26.8 46.8 33.3 49.3 *Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP
ctxsw UNIX UDP TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----
buildroot Linux 4.1.15+ 3.690 17.2 26.5 76.4 86.0 *Remote* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host OS UDP RPC/ TCP RPC/ TCP
UDP TCP conn
--------- ------------- ----- ----- ----- ----- ----
buildroot Linux 4.1.15+ File & VM system latencies in microseconds - smaller is better
-------------------------------------------------------------------------------
Host OS 0K File 10K File Mmap Prot Page 100fd
Create Delete Create Delete Latency Fault Fault selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- -----
buildroot Linux 4.1.15+ 1998.0 0.207 1.42140 6.259 *Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------------------------
Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem
UNIX reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----
buildroot Linux 4.1.15+ 453. 411. 238. 552.7 1214.5 591.4 537.1 1204 596.0 Memory latencies in nanoseconds - smaller is better
(WARNING - may not be correct, check graphs)
------------------------------------------------------------------------------
Host OS Mhz L1 $ L2 $ Main mem Rand mem Guesses
--------- ------------- --- ---- ---- -------- -------- -------
buildroot Linux 4.1.15+ 996 4.0220 33.7 61.1 316.6 三、生成的配置
DISKS=""
DISK_DESC=""
OUTPUT=/dev/tty
ENOUGH=5000
FASTMEM="NO"
FILE=/var/tmp/XXX
FSDIR=/var/tmp
INFO=INFO.buildroot
LINE_SIZE=64
LOOP_O=0.00001841
MAIL=no
TOTAL_MEM=1001
MB=8
MHZ="995 MHz, 1.0050 nanosec clock"
MOTHERBOARD=""
NETWORKS=""
OS="arm"
PROCESSORS="2"
REMOTE=""
SLOWFS="NO"
SYNC_MAX="2"
LMBENCH_SCHED="BALANCED"
TIMING_O=0
RSH=
RCP=
VERSION=3.0-a9
BENCHMARK_HARDWARE=YES
BENCHMARK_OS=YES
BENCHMARK_SYSCALL=
BENCHMARK_SELECT=
BENCHMARK_SIG=
BENCHMARK_PROC=
BENCHMARK_CTX=
BENCHMARK_PAGEFAULT=
BENCHMARK_FILE=
BENCHMARK_MMAP=
BENCHMARK_PIPE=
BENCHMARK_UNIX=
BENCHMARK_UDP=
BENCHMARK_TCP=
BENCHMARK_CONNECT=
BENCHMARK_RPC=
BENCHMARK_HTTP=
BENCHMARK_BCOPY=
BENCHMARK_MEM=
BENCHMARK_OPS= 四、getsummary显示数据疑问:
1. 可能前面会发现整形、浮点等运算为什么无效?也就是没有数据。
2. 分析getsummary源代码:
[...省略]
if (/SYNC_MAX/) { -------+
@_ = split; |
$_[1] =~ s/\]//; |
push(@load, $_[1]); --------+----------------------+
} |
[...省略] |
for ($i = 0; $i <= $#uname; $i++) { |
if (&resultsq($i, $i, ( 'int64_bit', 'int64_add', |
'int64_mul', 'int64_div', |
'int64_mod' )) <= 0) { |
next; |
} |
if ($load[$i] > 1) { <---------------------------------+
next;
}
printf "%-9.9s %13.13s ", $host[$i], &getos($uname[$i]);
printf " %5.5s %6.6s %6.6s %6.6s %6.6s\n",
&scale_num($int64_bit[$i], 6, $load[$i]),
&scale_num($int64_add[$i], 6, $load[$i]),
&scale_num($int64_mul[$i], 6, $load[$i]),
&scale_num($int64_div[$i], 6, $load[$i]),
&scale_num($int64_mod[$i], 6, $load[$i]);
}
[...省略]
3. 可知SYNC_MAX不能设置大于1的值,否者不会显示相应的部分。

Buildroot lmbench使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. 报错:/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.29.5/UITableView.m:7943解决方法

    环境:Xcode7.1.1 详细错误: *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], ...

  3. lmbench的使用方法

    一.引言 要评价一个系统的性能,通常有不同的指标,相应的会有不同的测试方法和测试工具,一般来说为了确保测试结果的公平和权威性,会选用比较成熟的商业测试软件.但在特定情形下,只是想要简单比较不同系统或比 ...

  4. buildroot 修改root密码后无法登录ssh解决方法

    客户说想修改root密码后再登录ssh, 研究了一下,是因为ssh登录是匹配了之前的 密码生成文件,只要把之前的密码生成文件删除就可以. 过程如下: 删除 /etc/ssh/ssh_host*. rm ...

  5. buildroot mysql

    /******************************************************************** * buildroot mysql * 说明: * 这两天要 ...

  6. Buildroot阅读笔记

    之前有写一篇文章:http://www.cnblogs.com/tfanalysis/p/3625430.html理清如何make menuconfig的问题,现在今天在无意间多注意了一下buildr ...

  7. buildroot使用介绍

    buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.你可以和编译Linux内核一样,通过buildro ...

  8. Buildroot stress-ng Linux系统压力测试

    /********************************************************************** * Buildroot stress-ng Linux系 ...

  9. Buildroot Qt 5

    /********************************************************************************* * Buildroot Qt 5 ...

随机推荐

  1. OpenJDK换为JDK(CentOS)

    说明:应该来说没必要非把OpenJDK卸载掉,只要让$PATH中我们安装的jdk的目录较OpenJDK所在的/usr/bin先出现就好了:简言之跳过下边的第一步直接从第二步开始更科学一些. 1.卸载O ...

  2. Table展开行

    在element-ui的官网例子中,有展开行的功能,但是只能点击某行的箭头位置,才可以展开当行的内容.这不能满足业务需求,我们老大需要点击该行的任何一个位置都能展开这行内容显示.上网找了好多例子,都能 ...

  3. 码云git使用四(分支的创建,使用和合并)

    我们在使用git的时候,一般都不是直接在主代码中开发, 通常我们做的操作是创建一个分支,我们在分支上开发,开发完毕,在提交到主代码中. 我们现在学习创建分支,合并分支. 1.首先我们下载到本地都是在主 ...

  4. 【基础】iframe之间的切换(四)

    案例: 打开http://mail.126.com/,定位登录输入框时,却总是定位不到元素,后来发现,登录的内容在一个iframe中. 一.由主页面切换至iframe dr.switchTo().fr ...

  5. laravel基于Bootstrap的成功和失败的提示信息和验证提示信息

    message.blade.php <!-- 成功提示框 --> @if(Session::has("success")) <div class="al ...

  6. POJ 1837 Balance 水题, DP 难度:0

    题目 http://poj.org/problem?id=1837 题意 单组数据,有一根杠杆,有R个钩子,其位置hi为整数且属于[-15,15],有C个重物,其质量wi为整数且属于[1,25],重物 ...

  7. Java单例模式《一》饿汉式

    package com.study.mode; /** * 单例模式:饿汉式. 线程安全. * @ClassName: SingleBean * @author BlueLake * @date 20 ...

  8. linux图形和命令界面切换

    一.系统不在虚拟机中的情况 使用ctrl+alt+F1~6切换到命令行界面:ctrl+alt+F7切换到图形界面 二.系统在虚拟机中的情况 Ctrl+Alt+shift+F1~6切换到命令行界面:使用 ...

  9. hdu-2063-过山车(匈牙利算法)

    过山车 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 ...

  10. sass的加减乘除

    运算 时单位要一样 否则报错 除法时 要加() width: (100px / 2); 符号在已有的数学表达式中时,也会被认作除法符号,就不要加() .box { width: 100px / 2 + ...