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

一、概述

Stream测试是内存测试中业界公认的内存带宽性能测试基准工具,由Virginia University提供。它通过生成四种不同模式下的内存读写操作,用于测试高性能计算机的内存带宽。现代计算机中普遍使用缓存技术,为了保证测试能正确反映计算机内存的读写性能,测试中使用的数据量应远大于缓存大小。

二、安装与使用

1、下载:https://download.csdn.net/download/qq_37330657/90151952

2、打开终端执行

$sudo apt install gfortran

3、解压缩stream安装文件,进入stream目录

$cd stream

4、进行编译

$gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=(参考备注计算方法进行计算) -DNTIMES=30 stream.c -o stream

备注:DSTREAM_ARRAY_SIZE计算公式:

{最高级缓存X MB}×1024×1024×4.1×CPU核数/8,结果取整数

比如最高缓存是16M,cpu是8核,那么DSTREAM_ARRAY_SIZE=16×1024×1024×4.1×8/8=68786585 ,结果取整。

最高缓存可通过 lscpu 或 sudo dmidecode -t cache 查询。

5、以root权限清空系统缓存

#echo 3 > /proc/sys/vm/drop_caches

6、执行命令

#./stream ##输出满线程测试结果,重复执行10次,取平均值

7、自定义设置进程数(可选),如

#export OMP_NUM_THREADS=x ## x为你想设置的线程数,然后运行生成的可执行文件,如

#./stream

三、结果分析

运行Stream测试后,会输出四种测试模式下的内存带宽(以MB/s为单位)和相应的计算速率。通过比较这些结果,可以评估计算机内存在不同操作模式下的性能表现。通过它,用户可以方便地评估计算机内存在不同操作模式下的性能表现,为系统优化和升级提供有力支持。

相关推荐
{⌐■_■}15 分钟前
【c++】自定义命名空间namespace与头文件的组织与企业应用案例
服务器·数据库·c++
孫治AllenSun36 分钟前
【shell】常用100个shell命令使用讲解
java·linux·服务器
.生产的驴40 分钟前
SpringBoot 开启热部署 项目热启动 一键调试无需 无需重启
java·运维·开发语言·spring boot·后端·spring·eclipse
kaoa0001 小时前
Linux入门攻坚——42、Nginx及web站点架构模式
linux·前端·nginx
上海运维Q先生1 小时前
面试题整理3----nc命令的常见用法
linux
KawYang1 小时前
xxl-job 整合 Seatunnel 实现定时任务
linux·服务器·数据库
白帽黑客26591 小时前
入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】
linux·python·web安全·网络安全·系统安全·密码学·ddos
德迅云安全杨德俊2 小时前
云服务器防御DDOS的方案
服务器·安全·web安全·ddos
不修×蝙蝠2 小时前
搭建Tomcat(六)---Response的实现
java·服务器·tomcat·response
打码人的日常分享2 小时前
【系统测试文档】系统测试计划,系统测试报告书,测试方案,测试记录,测试用例(Word原件)
运维·安全·系统安全·测试用例·需求分析·规格说明书