CPU/内存/综合性能评估工具汇总-1:lmbench

目录

    • 一、概括
    • 二、lmbench

一、概括

嵌入式开发中对要设计的产品、立项的项目进行设计时,往往需要对关键芯片进行性能评估,本文主要总结基于linux系统的产品在性能评估时的工具使用总结,在aarch64(arm64平台下测试),板卡根文件系统为debian系统。
工具列表如下:

名称作用git源码链接
lmbench带宽测评,反应时间测评https://github.com/redrose2100/lmbench.git
stream内存带宽(每秒通过的字节数)测试https://github.com/jeffhammond/STREAM.git
unixbench测试 unix 系统基本性能,测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器.https://github.com/kdlucas/byte-unixbench.git
cyclictest 和 stress-ng实时性测试压力工具 git clone https://github.com/ColinIanKing/stress-ng.git ,测试工具git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

二、lmbench

1、编译
export CC=aarch64-linux-gnu-gcc
make clean
make
提示报错:

/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.5.0/../../../../aarch64-linux-gnu/bin/ld: 找不到 -ltirpc
collect2: error: ld returned 1 exit status
Makefile:295: recipe for target '../bin/x86_64-pc-linux-gnu/bw_file_rd' failed
make[2]: *** [../bin/x86_64-pc-linux-gnu/bw_file_rd] Error 1

将script/build中的 LDLIBS=“-lm -ltirpc” 改成 LDLIBS=“-lm”
make 编译通过

2、将文件夹压缩后,拷贝到嵌入式板卡中解压
3、cp -r lmbench/bin/aarch64-linux-gnu lmbench/bin/aarch64-unknown-linux ,此句在板卡中操作
4、测试,以下命令在板卡中执行

cd scripts
./config-run
根据提示 第一个提示输入1  回车 ,第二个提示输入1 回车,  第三个提示输入 128 回车
随后一直回车
直到看到 是否发邮件 输入 no 回车, 等待产生文件配置文件
./results
等待测试结果
cd  ../results
make summary percent 2>/dev/null | more > lmbench-result.txt
将lmbench-result.txt从板卡中导出

5、结果含义分析,示例结果如下

                 L M B E N C H  3 . 0   S U M M A R Y------------------------------------(Alpha software, do not distribute)Processor, Processes - times in microseconds - smaller is better
------------------------------------------------------------------------------
Host                 OS  Mhz null null      open slct sig  sig  fork exec shcall  I/O stat clos TCP  inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
driver    Linux 5.10.16 1797 0.31 0.37 0.97 2.51 5.25 0.50 2.42 174. 566. 1395Basic integer operations - times in nanoseconds - smaller is better
-------------------------------------------------------------------
Host                 OS  intgr intgr  intgr  intgr  intgrbit   add    mul    div    mod
--------- ------------- ------ ------ ------ ------ ------
driver    Linux 5.10.16 0.3700 0.1400 0.0400 4.4600 5.4300Basic float operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------
Host                 OS  float  float  float  floatadd    mul    div    bogo
--------- ------------- ------ ------ ------ ------
driver    Linux 5.10.16 2.2300 2.2300 6.1300 2.5100Basic double operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host                 OS  double double double doubleadd    mul    div    bogo
--------- ------------- ------  ------ ------ ------
driver    Linux 5.10.16 2.2300 2.2300   10.0 8.9100Context switching - times in microseconds - smaller is better
-------------------------------------------------------------------------
Host                 OS  2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64Kctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- -------
driver    Linux 5.10.16 1.9100 2.0300 1.9300 3.0500 3.5400 3.32000    10.1*Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host                 OS 2p/0K  Pipe AF     UDP  RPC/   TCP  RPC/ TCPctxsw       UNIX         UDP         TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----
driver    Linux 5.10.16 1.910 7.999 11.9  17.0        24.4        67.File & VM system latencies in microseconds - smaller is better
-------------------------------------------------------------------------------
Host                 OS   0K File      10K File     Mmap    Prot   Page   100fdCreate Delete Create Delete Latency Fault  Fault  selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- -----
driver    Linux 5.10.16   15.6   13.0   34.8   19.4  1638.0 0.363 0.36280 2.550*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------------------------
Host                OS  Pipe AF    TCP  File   Mmap  Bcopy  Bcopy  Mem   MemUNIX      reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----
driver    Linux 5.10.16 2214 2956 1695 3266.6 9768.4 5202.6 5127.5 6420 7181.Memory latencies in nanoseconds - smaller is better(WARNING - may not be correct, check graphs)
------------------------------------------------------------------------------
Host                 OS   Mhz   L1 $   L2 $    Main mem    Rand mem    Guesses
--------- -------------   ---   ----   ----    --------    --------    -------
driver    Linux 5.10.16  1797 2.2270 4.9450   12.1       134.1

结果解释:
Processor, Processes - times in microseconds - smaller is better
CPU处理性能各项时间数值越小越好,单位毫秒,包括:

结果名称含义解释
OSOS版本
Mhzcpu动态运行的频率
null call系统调用
null I/O模拟操作IO设备的时间
statstat 文件信息的时间
open clos打开关闭文件的时间
slct TCP网络连接的建立,管道,TCP,UDP 和RPC hot potato
sig inst信号安装时间
sig hndl信号处理时间
fork procfork一个进程的时间
exec proc执行一个模拟进程的时间
sh procshell脚本执行时间

Basic integer operations - times in nanoseconds - smaller is better
基本整形运算操作时间数值越小越好,单位:纳秒,包括

结果名称解释说明
OSOS版本
intgr bit位操作
intgr add加法操作
intgr mul乘法操作
intgr div除法操作
intgr mod取模操作

Basic float operations - times in nanoseconds - smaller is better
基本单精度浮点运算操作时间数值越小越好,单位:纳秒,包括:

Basic double operations - times in nanoseconds - smaller is better
基本双精度浮点运算操作时间数值越小越好,单位:纳秒,包括:

Context switching - times in microseconds - smaller is better
上下文切换操作时间数值越小越好,单位:毫秒,包括:

Local Communication latencies in microseconds - smaller is better

File & VM system latencies in microseconds - smaller is better

Local Communication bandwidths in MB/s - bigger is better

Memory latencies in nanoseconds - smaller is better

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Keil将STM32部分程序放在RAM中运行

手动分配RAM区域,新建.sct文件,定义RAM_CODE区域,并指定其正确的起始地址和大小。 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************…

C语言 -- 函数

C语言 -- 函数 1. 函数的概念2. 库函数2.1 标准库和头文件2.2 库函数的使用方法2.2.1 功能2.2.2 头文件包含2.2.3 实践2.2.4 库函数文档的一般格式 3. 自定义函数3.1 函数的语法形式3.2 函数的举例 4. 形参和实参4.1 实参4.2 形参4.3 实参和形参的关系 5. return 语句6. 数组做…

Element中的消息提示组件Message和弹框组件MessageBox

简述:在 Element UI 中,Message和MessageBox都是比较常用的组件,Message用来提示消息,而MessageBox是一个用于创建模态对话框的组件。它可以用于在页面上快速展示信息、警告或错误提示,而不会阻止用户的其他操作。简单…

116-基于5VLX110T FPGA FMC接口功能验证6U CPCI平台

一、板卡概述 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡。由一片Xilinx公司的XC5VLX110T-1FF1136 / XC5VSX95T-1FF1136 / XC5VFX70T-1FF1136芯片组成。FPGA接1片DDR2内存条 2GB,32MB Nor flash存储器,用于存储程序。外扩 SATA、PCI、PCI expres…

【期末复习】数据库系统概论(附带考点汇总)

第1章.绪论 目录 第1章.绪论1.1. 数据库系统概述1.1.1.基本概念1.1.2.产生和发展 1.2.概念模型1.2.1.三种模型1.2.2.概念模型1.2.3.关系模型 1.3.数据库系统结构1.3.1三级模式结构1.3.2.两级映像与数据独立性 第2章.关系型数据库2.1.关系2.2.关系操作2.2.1.基本关系操作2.2.2.关…

SALOME源码分析:View Model

作为一款开源的CAx(CAD/CAE/CAM)软件集成平台,为了实现各个Module支持不同的数据显示与交互方案,出于扩展性的考虑,SALOME引入了View Model,用以支持OpenGL、OCC、VTK、ParaView、Qwt等数据显示与交互实现。 本文将以OCCViewer、…

昇思25天学习打卡营第16天|Diffusion扩散模型

导入必要的库函数 import math from functools import partial %matplotlib inline import matplotlib.pyplot as plt from tqdm.auto import tqdm import numpy as np from multiprocessing import cpu_count from download import downloadimport mindspore as ms import mi…

Python基于卷积神经网络分类模型(CNN分类算法)实现时装类别识别项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 在深度学习领域,卷积神经网络(Convolutional Neural Networks, CNNs&#xff0…

【架构-20】死锁

什么是死锁? 死锁(Deadlock)是指两个或多个线程/进程在执行过程中,由于资源的互相占用和等待,而陷入一种互相等待的僵局,无法继续往下执行的情况。 产生死锁的四个必要条件: (1)互斥条件(Mutual Exclusion):至少有一个资源是非共享…

Elasticsearch:结合稀疏、密集和地理字段

作者:来自 Elastic Madhusudhan Konda 如何以自定义方式组合多个稀疏、密集和地理字段 Elasticsearch 是一款强大的工具,可用于近乎实时地搜索和分析数据。作为开发人员,我们经常会遇到包含各种不同字段的数据集。有些字段是必填字段&#x…

relation-graph——数据组装+鼠标移入后的详情(自定义插槽的用法)——js技能提升

最近在写后台管理系统的时候,遇到一个需求,就是给我一些节点,让我渲染到页面上,效果图如下: 之前写过一篇文章关于relation-graph关系图组件http://t.csdnimg.cn/7BGYm的用法 还有一篇关于relation-graph——实现右击…

回溯算法-以单位人事管理系统为例

1.回溯算法介绍 1.来源 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。 用回溯算法解决问题的一般步骤: 1、 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。 2 、确定易于搜…

rk3568 OpenHarmony 串口uart与电脑通讯开发案例

一、需求描述: rk3568开发板运行OpenHarmony4.0,通过开发板上的uart串口与电脑进行通讯,相互收发字符串。 二、案例展示 1、开发环境: (1)rk3568开发板 (2)系统:OpenHar…

又一个被催的相亲对象!家庭不和,是因为智慧不够?——早读(逆天打工人爬取热门微信文章解读)

你相亲过吗? 引言Python 代码第一篇 洞见 家庭不和,是因为智慧不够第二篇 口播结尾 引言 yue 昨天居然忘记了 正事:拍视频j 居然忘记了 别着急 让我找下理由(借口) 前天我妈给我介绍了个相亲对象 推给我了她的微信 我…

网络攻防——kali操作系统基本使用

1.阅读前的声明 本文章中生成的木马带有一定的攻击性,使用时请遵守网络安全相关的法律法规(恶意攻击操作系统属于违法行为)。 2.环境安装 生成木马主要需要如下工具:kali操作系统,VMware15(搭建kali操作…

Beyond Compare 解锁版下载及安装教程 (文件和文件夹比较工具)

前言 Beyond Compare 是一款功能强大的文件和文件夹比较工具。它支持文件夹比较、文件夹合并与同步、文本比较、表格比较、图片比较、16进制比较、注册表比较、版本比较等多种功能。通过 Beyond Compare,您可以轻松调查文件和文件夹之间的不同之处,并使…

【Qwen2部署实战】探索Qwen2-7B:通过FastApi框架实现API的部署与调用

系列篇章💥 No.文章1【Qwen部署实战】探索Qwen-7B-Chat:阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验:用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B:通过FastApi框架实现API的部署与调用4【Q…

电脑恢复技巧:如何在 Windows 10 中恢复删除的文件夹

丢失文件和文件夹是一件非常可怕的事情,尤其是当你不知情的情况下删除它们时。别撒谎。我们知道你也经历过这种情况,而且你也知道我们在说什么! 我们都曾有过这样的经历,而且大多数人很快就会再次经历。在 Windows 中&#xff0c…

从内外参推导IPM变换方程及代码实现(生成AVM环视拼接图)

一、前言 最近想实现AVM拼接,看了不少博客和论文,不过比较愚钝,一直没能很好理解原理,尤其是怎么在实现时把下文式1与式2中Z1和Z2消除的,所以严谨的推导了一下对应的公式,如有不对,水平有限&am…

Qt Group与华为合作开发OpenHarmony版本,打造无缝跨设备操作系统

在华为开发者大会2024上,跨平台软件开发和质量保证工具的领先供应商 Qt Group(Nasdaq, Helsinki: QTCOM)荣幸地宣布成为OpenHarmony生态系统合作伙伴。这是继近几年华为采用Qt开发框架和自动化测试工具Squish的商业许可后,Qt Grou…