Memory测试工具-lmbench使用详解

✨前言:

什么是lmbench?
lmbench 是一个广泛使用的、开源的系统性能测量工具,它能对Unix-like操作系统(包括Linux、BSD等)进行全面的性能测试。这个套件包含了一系列针对不同系统组件(如处理器、内存、文件系统等)的基准测试工具。在内存测试方面,lmbench 主要测量内存的带宽和延迟。

✨安装lmbench

 git clone https://github.com/redrose2100/lmbench.git
 cd lmbench/
 make && make install

编译完成之后可以看到bin目录下生成二进制文件
在这里插入图片描述

✨使用 lmbench 进行内存测试

lmbench 包含多个工具和测试,以下是针对内存测试的一些常用命令:
在这里插入图片描述

🌟参数详解:

bw_mem 是 lmbench
套件中的一个工具,用于测量内存的带宽性能。你可以通过不同的选项来定制测试的行为。以下是对bw_mem命令参数的解释:

-P : 指定并行度,即同时运行测试的线程或进程数。增加并行度可以测试系统在高并发场景下的内存带宽表现。

-W : 指定热身次数。在正式开始收集数据前,程序会先执行指定次数的测试,这有助于使CPU和内存达到一个稳定的工作状态,从而让测试结果更加准确。

-N : 指定重复执行测试的次数。增加重复次数可以使结果更稳定,减少偶然误差的影响。

: 指定测试使用的数据块大小。这对于评估在处理不同大小数据时的内存带宽非常重要。大小必须大于512字节。

what: 指定测试的类型。包括以下几种: rd: 仅读取内存数据。 wr: 仅写入内存数据。 rdwr: 交替读写内存数据。 cp:
内存拷贝,复制内存数据。 fwr: 使用非临时存取指令写入内存数据。 frd: 使用非临时存取指令读取内存数据。 fcp:
使用非临时存取指令复制内存数据。 bzero: 清零内存。 bcopy: 内存数据拷贝(可能和 cp 类似,但具体实现可能有所不同)。
[conflict]: 该选项可选,允许测试中引入地址冲突,以评估某些特定内存访问模式下的性能。

这些参数允许你根据具体的测试需求配置bw_mem工具,以评估系统在不同操作(如读、写、拷贝等)和不同条件(如并行度和数据大小)下的内存带宽性能。使用时,根据测试目标合理选择参数,可以获得有价值的性能评估结果。

🌟内存带宽测试:

bw_mem:用于测试内存的读写带宽。可以通过不同的参数指定测试的大小和类型(读、写、复制等)。

🌟rd: 读取测试。测量连续读取内存的能力。
./bw_mem 1g rd

这个命令会测试在读取1GB内存数据时的带宽。

🌟wr: 写入测试。测量连续写入内存的能力。
./bw_mem 1g wr

这个命令会测试在写入1GB内存数据时的带宽。

🌟rdwr: 读写交替测试。测量交替读取和写入内存的能力。
./bw_mem 1g rdwr

这个命令会测试在交替读写1GB内存数据时的带宽。

🌟cp: 内存拷贝测试。测量内存区域间拷贝数据的能力。
./bw_mem 1g cp

这个命令会测试拷贝1GB内存数据的带宽。

🌟fwr: 带有“非临时”(fetch-and-add 类型操作)标记的写入测试。
./bw_mem 1g fwr

这个命令在执行写入操作时,表现出了非临时型的行为,适用于评估特定场景下的带宽。

🌟frd: 带有“非临时”标记的读取测试。
./bw_mem 1g frd

这个命令在执行读取操作时,表现出了非临时型的行为,适用于评估特定场景下的带宽。

🌟fcp: 用“非临时”原语执行的内存拷贝测试。
./bw_mem 1g fcp

类似于 cp,但采用非临时原语来对内存进行操作。

🌟bzero: 清零内存测试。测量清零一段内存区域的性能。
./bw_mem 1g bzero

这个命令测量清零1GB内存区域的带宽。

🌟bcopy: 内存拷贝测试。类似于 cp,但可能使用不同的API或方法。
./bw_mem 1g bcopy
🌟指定NUMA节点

当然你也可以指定要测试的NUMA节点:

numactl -N 0 -m 2 ./bw_mem -P 2 -N 2 100M rd

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达2022机器学习专项课程C2W2:2.23 选修_反向传播算法的工作原理(什么是导数图计算大型神经网络)

目录 引言一.导数的计算1.epsilon与导数的关系2.其它导数符号形式3.导数小结 二.小型神经网络的计算图1.什么是计算图(前向传播过程)2.反向传播计算过程3.验证反向传播的计算结果4.为什么用反向传播计算导数? 三.扩大神经网络的计算图1.计算反…

迅狐短剧小程序源码:打造个性化的追剧体验

随着移动互联网的普及,短剧小程序源码的开发成为了影视爱好者的新宠。它不仅为用户提供了便捷的追剧体验,还通过推荐系统、观看历史、个性化喜好等特色功能,满足了用户的多样化需求。本文将深入探讨短剧小程序源码的特点、优势以及如何实现多…

Linux和windows之间文件传输解决方案

我们初学Linux时,经常会在windows下载软件或者文档,然后想办法从windows上传输到Linux上;还有Linux上的文件,我们想再Windows上储存,这时,就会用到Linux和windows之间文件传输!! 一…

ant X6高亮

先附上效果图 // 节点内属性的点击事件&#xff1a;node:port:click graph.on(‘node:port:click’, ({ node, port }) > { resetAllHighlights(); highlightPort(node, port, true); highlightEdgesForPort(port, new Set()); }); // 以下为源码 <template><div…

Win11下只支持IE浏览器的老网站顺畅运行的方法

在Windows 11操作系统中&#xff0c;由于Internet Explorer&#xff08;IE&#xff09;浏览器的逐步淘汰&#xff0c;微软官方已不再直接支持IE浏览器。然而&#xff0c;当您遇到必须访问仅支持IE的老旧网站时&#xff0c;Windows 11仍然提供了一些实用的替代方案来应对这一挑战…

GA/T 1400视频汇聚平台EasyCVR级联后,平台显示无通道是什么原因?

国标GB28181安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快&#xff0c;可支持的主流标准协议有GA/T 1400、国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。 有用户反馈&#xff…

【python】OpenCV—Bitplane

学习来自&#xff1a; 位平面分割&#xff08;Bit-Plane Slicing&#xff09;使用OpenCVPython进行图像处理的初学者指南 位平面 位平面&#xff08;bitplane&#xff09;是一个在计算机科学中用于描述图像数据的概念&#xff0c;具体定义如下&#xff1a; 【定义】&#x…

22、matlab锯齿波、三角波、方波:rectpuls()函数/sawtooth()函数/square()函数

1、采样的非周期性矩形 语法 语法1&#xff1a;y rectpuls(t) 返回一个以数组 t 中指示的采样时间采样的连续非周期性单位高度矩形脉冲&#xff0c;该矩形脉冲以 t 0 为中心。 语法2&#xff1a;y rectpuls(t,w) 生成一个宽度为 w 的矩形 参数 t:采样时间 w:矩形宽度…

网络编程(五)

网络编程&#xff08;五&#xff09; 网络服务器超时检测使用select进行超时检测套接字属性**getsockopt:获取socket软通道的某项属性值**setsockopt:设置socket软通道的某项属性值**&#xff08;socket建立之后就可使用&#xff09; 信号**signal()&#xff1a;信号处理函数se…

34. 【Java教程】反射

本小节我们来学习一个 Java 语言中较为深入的概念 —— 反射&#xff08;reflection&#xff09;&#xff0c;很多小伙伴即便参与了工作&#xff0c;可能也极少用到 Java 反射机制&#xff0c;但是如果你想要开发一个 web 框架&#xff0c;反射是不可或缺的知识点。本小节我们将…

天诚学校物联网锁、公租房智能门锁亮相2024永康门博会

5月26-28日&#xff0c;全场景AIoT解决方案服务商——江苏新巢天诚智能技术有限公司&#xff08;以下简称“天诚”&#xff09;盛装出席第14届中国&#xff08;永康&#xff09;国际门业博览会&#xff08;以下简称“门博会”&#xff09;。 门博会亮点十足 作为享誉海内外的…

产品评测:Coolmuster Android Eraser - 安全彻底删除Android数据的利器

产品概述 在数字化时代&#xff0c;智能手机成为了个人敏感信息的集中地。当涉及到数据隐私和安全时&#xff0c;简单的删除操作并不能满足我们对数据彻底清除的需求。Coolmuster Android Eraser正是为了解决这一问题而生&#xff0c;它是一款专为Android设备设计的第三方软件&…

VUE封装-自定义权限控制指令

在实际开发中&#xff0c;会遇到很多的权限控制、资源位的场景&#xff0c;其实就是用来控制某个组件的展示与否&#xff0c;可以是一个按钮、一个报表、一个TAB页面等 例如下图&#xff0c;我想通过当前登录的用户控制谷歌的这个logo显示与否 因为设计到的权限、资源位控制比…

图片中线段和圆圈检测(python opencv)

前言 本文实现将一个图片中的线段和圆圈检测出来&#xff0c;效果就像这样 开始之前请先自行安装 opencv 另外还用到了一个用来检测直线&#xff1a; http://olena.pages.lre.epita.fr/pylena/index.html pip install pylena直线检测 先用 opencv 来检测直线, 因为下面代码…

天融信 2023 的年终奖。。

天融信 过去几天&#xff0c;最大的瓜&#xff0c;是天融信 2023 的年终奖脚踝砍。 "天融信"是国内首家网络安全企业&#xff0c;同时也是一家上市公司。 就在前些天&#xff0c;有网友爆料出&#xff0c;天融信年终奖到账只有几百元&#xff0c;甚至只有几十元&…

铝包木门窗性能优异 国内产量及需求量总体呈增长态势

铝包木门窗性能优异 国内产量及需求量总体呈增长态势 铝包木门窗是在保留纯实木门窗特性和功能的前提下&#xff0c;将隔热断桥铝合金型材和实木通过机械方法复合而成的框体。铝包木门窗具有良好的密封性、保温性、抗腐蚀性、隔音性等&#xff0c;能够满足市场对门窗质量要求不…

【Linux-阻塞,非阻塞,异步】

Linux-阻塞&#xff0c;非阻塞&#xff0c;异步 ■ Linux-阻塞-非阻塞 IO-异步■ Linux-阻塞IO■ 阻塞IO简介■ open■ 等待队列■ 示例一&#xff1a;APP阻塞IO读取进入睡眠后-等待队列唤醒进程■■ ■ Linux-非阻塞IO■ 非阻塞IO简介■ open■ 轮询■ 1、select 函数■ 2、po…

【轻触按键】开关机电路--填坑1

接上文&#xff0c;挖的坑 一、翻转电路 二、真值表 按键按下去&#xff0c;1G17会拉低&#xff0c;A端脚会掉电&#xff0c;下降沿&#xff1b;终到逻辑“0” 松开按键&#xff0c;1G17会拉高&#xff0c;A端脚充电&#xff0c;上升沿&#xff1b;终到逻辑“1”&#xff1b; …

[补题记录]LeetCode 6.Z字形变换

传送门&#xff1a;Z字形变换 转自&#xff1a;Z字形变换 Thought/思路 关键点在于&#xff0c;最后的答案是一行行连接起来的。 这样我们就会发现&#xff0c;这个 Z 字&#xff0c;实际上会让行数 不断加 1&#xff0c;然后又 不断减 1。每次按顺序选择 S 中的一个字符即…

visual studio打包qt算子时,只生成dll没有生成lib等文件

问题&#xff1a;在visual studio配置了qt项目&#xff0c;并打包成dll&#xff0c;原则上会生成一堆文件&#xff0c;包括dll,lib等文件。 解决办法&#xff1a; 挨个右击源代码的所有头文件-》属性-》项类型。改成qt头文件形式&#xff0c;如下。