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 - 614B] B - Gena's Code
B - Gena's Code It's the year 4527 and the tanks game that we all know and love still exists. There ...
- ActiveMQ producer 流量控制
http://activemq.apache.org/producer-flow-control.html 翻译: 流量控制是指:如果broker检测到destination的内存限制.temp文件限 ...
- Spring FactoryBean应用
Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean.FactoryBean跟普通Bean不同,其返回的对象不是指定类的一个实例,而是该Facto ...
- laravel中db获取某个数据的具体字段值:
$helpfriend = DB::connection('luckyrecord')->table($luckyrecord)->where('id', $luckyrecordid)- ...
- http协议与浏览器缓存
http协议与浏览器缓存 F5刷新与在地址栏回车的区别 链接
- c# 关于async/await异步编程的浅析和使用
线程的同步运行,时效性慢,异步运行,时效性快! 在c#5.0引出了async/await关键字,可以用其来进行异步编程. async/await定义异步方法的语法如下: 1.在方法的返回类型前面加上a ...
- 【转载】JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...
- core net 2 nuget的数据源包
基本都是 在 obj里面 debug里面 porgect.assetc.json
- git中误删提交(commit)后,怎么恢复
“xml文件存储数据”提交被我误操作,即使用reset --hard删除了,然后又进行了三次提交,发现删除的提交有用,需要找回来, 于是找了好久,找到好方法: 1.进入工程下的.git文件下,git ...
- nio的简单学习
参考链接: http://www.iteye.com/magazines/132-Java-NIO https://www.cnblogs.com/xiaoxi/p/6576588.html http ...