【浪潮信息KeyarchOS (KOS)】手把手教你用stream:内存带宽测试全流程解析

内存带宽stream测试 1.STREAM测试工具介绍 STREAM是业界广为流行的综合性内存带宽实际性能测量工具之一。随着处理器处理 核心数量的增多,内存带宽对于提升整个系统性能越发重要,如果某个系统不能足够 迅速地将内存中的数据传输到处理器当中,若干处理核心就会处于等待数据的闲置状 态,而这其中所产生的闲置时间不仅会降低系统的效率还会抵消多核心和高主频所带 来的性能提升因素。STREAM具有良好的空间局部性,是对TLB友好、Cache友好的一 款测试。STREAM支持Copy、Scale、Add、Triad四种操作。 2 阅读详情

目录

1 概述

2 安装准备

2.1 安装环境

2.2 软件版本

3 安装部署

4 执行测试

5 数据分析

5.1 数据指标

5.2 数据分析


1 概述

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126

stream是对内存带宽进行测试的工具,当前版本已经更新到最新5.10,适用于终端机和服务器的内存带宽测试,通过生成四种不同模式下的内存读写操作,测试高性能计算机的内存带宽,对内存性能进行评估和对比。

对于内存本身而言,内存的规格、运行频率、容量、CPU缓存等都可以影响内存性能,而本文评测内存的性能主要从内存带宽这一指标来评定。

内存带宽:内存带宽也叫“数据传输率”,是指每秒钟访问内存的最大bit数(或Byte数)。内存带宽代表的是内存总线所能提供的数据传输能力,但它决定于内存芯片和内存模组而非纯粹的总线设计。

针对内存的测试工具有很多,包括memtest、stressapptest、stream等,memtest主要针对内存正确性的测试,stressapptest主要针对内存的稳定性的测试,而stream主要针对内存带宽进行测试验证,具备准确的数据,更能突出内存的性能。

2 安装准备

2.1 安装环境

操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)

测试架构:x86_64,8核4G虚拟机

2.2 软件版本

Stream 5.9

3 安装部署

官网下载stream-5.9.tar.gz安装包

tar -xvf stream-5.9.tar.gz解压安装包

工具暂时无需其他配置

4 执行测试

此工具有两种使用方式,具体使用根据个人需求选择

直接编译Makefile

make 编译stream工具中Makefile文件生成stream可执行文件

./Run.sh -n 1 -n 8 执行测试-数字代表进程数

生成的结果文件在stream工具目录下的result目录内

具体结果如下图所示

图 1 result目录

图 2 测试结果举例

预编译stream.c文件生成stream可执行文件

gcc -O3 -mtune=native -march=native -fopenmp -DSTREAM_ARRAY_SIZE=200000000 -DNTIMES=100 stream.c -o stream 预编译生成stream可执行文件,参数详解见表1

./stream 执行测试

具体结果如下图所示

图 3 测试结果举例

预编译参数详解见下表:

表1 预编译参数

参数解析
-O3编译器编译优化级别
-mcmodel=small当单个Memory Array Size 大于2GB时需要设置此参数
-fopenmp适应多处理器环境;开启后,程序默认线程为CPU线程数
-DSTREAM_ARRAY_SIZE=200000000指定计算中a[],b[],c[]数组的大小,部分版本stream为-DN=2000000形式设置
-DNTIMES=30执行的次数,并且从这些结果中选最优值
-DOFFSET=4096数组的偏移,一般可以不定义

5 数据分析

5.1 数据指标

Stream包括四种运算:Copy、Scale、Add、Triad。

Copy:复制需要两次访问内存,一次读一次写,单位8Byte,浮点计算次数0次。

Add:加法需要访问三次内存(两次读操作,一次写操作)

Scale:两次访问内存。

Triad:混合运算,需要三次访问内存。

结果记录第一列数据即为每一项运算内存带宽。

记录Copy Scale Add Traid 后的第一列数据,Best Rate,是进行十次运算后取最优。

5.2 数据分析

正常认知下,我们会觉得多线程结果分数要高于单线程较多,如果数据出现多线程数据只比单线程数据高一千左右,可考虑内存条是否为单通道模式。

表2 数据对比

单线程多线程
拷贝速率38460.650753.5
乘法速率24196.543697.8
加法速率26158.250872.1
混合速率26432.048474.5

可以看到,单双通道情况下,单线程差异不大,差异七百左右,但是双通道模式情况下,多线程比单线程分数高出更多,差异六千左右。

数据结果过大异常,可考虑是否为数组大小设置过小,低于缓存大小的四倍使用的缓存进行了测试。

内存带宽测试工具-Stream 简介: STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写完成,由于这两种语言在数学计算方面的高效率, 使得 STREAM 测试例程可以充分发挥出内存的能力。 STREAM 测试得到的是可持续运行的内存带宽最大值,而并不是一般的硬件厂商提供的理论最大值。 测试过程: 下载stream.c文件 使用gcc编译成二进制可执行文件 gcc -O3 -mcmodel=medium -fopenmp -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=30 阅读详情

相关推荐

【浪潮信息KeyarchOS (KOS)】Lmbench实战指南:从安装到调优的全流程解析

本文详细解析了如何在KeyarchOS (KOS)上使用Lmbench进行基准测试,从环境准备、编译优化到测试执行和结果分析的全流程。通过实战案例展示了KeyarchOS与Lmbench的黄金组合在性能诊断中的强大能力,帮助用户精准定位系统瓶颈并优化硬件配置。

weixin_27061475的博客 388

内存读写性能测试--stream

使用stream测试工具完成对服务器内存读写性能测试

LonelyLinguist的博客 4231

内存带宽测试工具 stream.tar

STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写完成,由于这两种语言在数学计算方面的高效率, 使得 STREAM 测试例程可以充分发挥出内存的能力。 STREAM 测试得到的是可持续运行的内存带宽最大值,而并不是一般的硬件厂商提供的理论最大值。

linux内存读写性能stream测试方法及下载

stream是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写完成,由于这两种语言在数学计算方面的高效率,使得 stream 测试例程可以充分发挥出内存的能力。 stream 测试得到的是可持续运行的内存带宽最大值,而并不是一般的硬件厂商提供的理论最大值。

wkl_venus的博客 5329

Linux内存性能测试工具stream

STREAM 是事实上的行业标准基准用于测量持续的内存带宽。

模糊控制——基本原理(附MATLAB程序)

模糊化:使用隶属函数将实际输入转换为模糊集合的隶属度值。规则库:利用“如果-那么”规则将模糊输入映射到模糊输出。推理机制:通过规则的模糊化和模糊集合的合成,生成模糊输出。去模糊化:将模糊输出转换为具体的控制信号,常用的方法包括质心法和最大隶属度法。这些步骤综合起来,实现了模糊控制系统对复杂和不确定系统的有效控制。模糊控制系统通过结合模糊逻辑和规则库来处理复杂系统中的不确定性和模糊性。它的核心在于模糊集合和隶属函数,通过推理机处理模糊规则,并最终通过去模糊化生成具体的控制信号。

qq_35623594的博客 5559

【浪潮信息KeyarchOS (KOS)】手把手教你用stream:内存带宽测试全流程解析小鱼小鱼

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。stream是对内存带宽进行测试的工具,当前版本已经更新到最新5.10,适用于终端机和服务器的内存带宽测试,通过生成四种不同模式下的内存读写操作,测试高性能计算机的内存带宽,对内存性能进行评估和对比。

ITer_szlgz的博客 760

【读论文】AI陪伴场景长期记忆(用户画像)解决方案

在长程人机交互中,如何让 AI 记住用户,不再是简单的“检索增强(RAG)”就能解决的问题。传统的向量数据库面临“信息信噪比低”、“人格不一致”以及“随着对话无限增长而崩塌”的困境。MemTensor 团队联合人大提出的Inside Out框架,从认知心理学汲取灵感,提出了一种基于PersonaTree(人格树)的显式记忆进化机制。该方案通过训练一个轻量级的(使用 DeepSeek-R1 蒸馏数据 + GRPO 强化学习),实现了将非结构化对话流实时压缩为结构化树操作(新增|更新|删除)。

kakaZhui的博客 819

【浪潮信息KeyarchOS (KOS)】手把手教你用stream:内存带宽测试全流程解析钨云钨云

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。stream是对内存带宽进行测试的工具,当前版本已经更新到最新5.10,适用于终端机和服务器的内存带宽测试,通过生成四种不同模式下的内存读写操作,测试高性能计算机的内存带宽,对内存性能进行评估和对比。

m0_63147799的博客 1942

微信小程序音视频通话(for硬件)授权与设备注册实战指南

本文详细介绍了微信小程序音视频通话(for硬件)组件的开发实践,涵盖授权流程、设备注册与VoIP插件集成。重点解析了如何通过服务端获取snTicket实现用户授权,确保硬件设备与微信端的音视频通话安全可靠,适用于智能门禁、话机等物联网场景。

u6v7w8x的博客 945

保姆级教程:用Simulink从零搭建新能源汽车VCU蠕行控制模型(附模型下载)

本文提供了一份详细的Simulink建模教程,指导读者从零开始搭建新能源汽车VCU蠕行控制模型。内容涵盖环境配置、信号定义、蠕行模式使能条件、扭矩控制算法实现及模型验证等关键步骤,特别适合需要将控制算法转化为可执行模型的初学者。教程还包含实用代码示例和常见问题解决方案,帮助开发者快速掌握VCU蠕行控制的Simulink实现技巧。

547

程序员实战:浪潮 KOS 系统用 Stream 测内存带宽全流程解析

本文介绍了在浪潮KeyarchOS(KOS)企业级Linux系统上使用Stream工具测试内存带宽的完整流程。从环境检查、依赖安装、内核参数优化,到Stream源码编译和多线程测试执行,提供了详细的操作命令和脚本示例。文章重点讲解了如何解读测试结果(Copy/Scale/Add/Triad指标)并与理论带宽对比,同时针对常见问题(测试波动、带宽不达标等)给出了排查方法。通过这套经过KOS验证的测试方案,开发者可以准确评估服务器内存性能,为硬件选型和系统优化提供数据支持。

xiugou3365的博客 1326

手把手教你用GNU Radio和PlutoSDR搭建FM收音机(附完整流程图)

本文提供了一份详细的实践指南,教你如何使用GNU Radio和PlutoSDR搭建一个功能完整的FM收音机。从软硬件环境准备、核心流程图构建,到运行调试与效果优化,手把手带你完成从射频信号接收、下变频、FM解调到音频输出的全过程,是入门软件定义无线电(SDR)的绝佳实践项目。

weixin_29189377的博客 750

Linux下stream内存带宽测试

本文通过实例详细讲解各编译参数,方便读者快速掌握stream内存带宽测试的测试内容、测试参数、测试方法并附上测试结果和源码。

qq_50550870的博客 4239

LEF 5.8 Language Reference学习笔记

您可以在一个 LEF 文件中定义所有元件库信息,但这样会产生一个复杂且难以管理的大文件。相反,您可以将信息分为两个文件,一个是 "technology "LEF 文件,另一个是 "cell library "LEF 文件。

yajuan的专栏 4101

RK3568平台开发系列讲解:Linux wifi的调试

查询结果中state为ENABLE,表示hostapd程序启用成功。首先查看设备是否存在。

内核笔记 167

【性能测试】stream内存带宽性能测试工具(飞腾2000+/64的CPU+麒麟信安的优化过程)

优化stream

weixin_45145607的博客 2439

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

基于经验模态分解和核主成分分析结合长短期记忆网络EMD-KPCA-LSTM的光伏功率预测算法--Matlab

前程算法屋的博客 626

Linux系统内存带宽读写性能测试工具Stream

Stream测试是内存测试中业界公认的内存带宽性能测试基准工具

qq_37330657的博客 1967

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux下stream内存带宽测试参数和示例详解附源码(总结)

stream测试得到的是可持续运行的内存带宽最大值,而并不是一般的硬件厂商提供的理论最大值,具有如下特点:1.主要有四种数组的运算,测试到内存带宽的性能分别是:数组的复制(Copy)、数组的尺度变换(Scale)、数组的矢量求和(Add)、数组的复合矢量求和(Triad)。2. 数组的值采用了双精度(8个字节)测试结果一般的规律是Add > Triad > Copy > Scale。

Jian Sun_的博客 2415

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 浪潮信息KSecure安全防御软件之主动防御功能
下一篇: 【浪潮信息KeyarchOS (KOS)】手把手教你玩转sysbench:多维度剖析系统性能
KeyarchOS
博客等级 码龄3年 1312粉丝 339原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值