Buildroot lmbench使用方法
/**********************************************************************
* 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使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- 报错:/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:], ...
- lmbench的使用方法
一.引言 要评价一个系统的性能,通常有不同的指标,相应的会有不同的测试方法和测试工具,一般来说为了确保测试结果的公平和权威性,会选用比较成熟的商业测试软件.但在特定情形下,只是想要简单比较不同系统或比 ...
- buildroot 修改root密码后无法登录ssh解决方法
客户说想修改root密码后再登录ssh, 研究了一下,是因为ssh登录是匹配了之前的 密码生成文件,只要把之前的密码生成文件删除就可以. 过程如下: 删除 /etc/ssh/ssh_host*. rm ...
- buildroot mysql
/******************************************************************** * buildroot mysql * 说明: * 这两天要 ...
- Buildroot阅读笔记
之前有写一篇文章:http://www.cnblogs.com/tfanalysis/p/3625430.html理清如何make menuconfig的问题,现在今天在无意间多注意了一下buildr ...
- buildroot使用介绍
buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfig配置文件构成的.你可以和编译Linux内核一样,通过buildro ...
- Buildroot stress-ng Linux系统压力测试
/********************************************************************** * Buildroot stress-ng Linux系 ...
- Buildroot Qt 5
/********************************************************************************* * Buildroot Qt 5 ...
随机推荐
- [CodeForces - 447C] C - DZY Loves Sequences
C - DZY Loves Sequences DZY has a sequence a, consisting of n integers. We'll call a sequence ai, ai ...
- 四、触发器(Trigger)
一.触发器 有点类似AOP里的拦截器,触发器不能传递参数,也不能输出参数,也不能显式调用,只有当满足触发器条件的时候Oracle会自动调用. 触发器: 1.语句级别的触发器:CRUD操作 2.行级别的 ...
- 在Vue中关闭Eslint 的方法
在vue项目中关闭ESLint方法:找到 webpack.base.conf.js 将这些代码注释掉, { test: /\.(js|vue)$/, loader: 'eslint-loader', ...
- [LeetCode] 95. Unique Binary Search Trees II(给定一个数字n,返回所有二叉搜索树) ☆☆☆
Unique Binary Search Trees II leetcode java [LeetCode]Unique Binary Search Trees II 异构二叉查找树II Unique ...
- 从此web开发so easy!
ECharts (Enterprise Charts 商业产品图表库) 基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图 ...
- nginx反向代理配置相对路径
需求: 在公司内部搭建了一个php的网站,想用花生壳映射到外网. 一.反向代理解决直接映射不成功问题 直接用把花生壳的"域名+端口"指向此php网站并竟然不生效.但是不加网站名可以 ...
- weblogic为同一domain下的不同server添加不同参数
一.背景 今天应用提需求说:现有一应用部署在多个server上,该应用会使用Ddubbo.protocol.port参数指定的端口去启动dubbo,现在想要做到的效果是为每个server的Ddubbo ...
- Qt调用JS
转自: 一. 简介 Qt提供了本地C++对象与JavaScript的无缝集成,可以进行本地与web混合应用开发.利用Qt的Webkit集成与QtNetwork模块,可以自由的混合JavaScript. ...
- jQuery封装 写的的确不错 转载
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入 ...
- linux nat style
1● nat style 2● link style