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为单位)和相应的计算速率。通过比较这些结果,可以评估计算机内存在不同操作模式下的性能表现。通过它,用户可以方便地评估计算机内存在不同操作模式下的性能表现,为系统优化和升级提供有力支持。

相关推荐
今天只学一颗糖21 小时前
Linux学习笔记--GPIO子系统和PinCtrl子系统
linux·笔记·学习
黄昏晓x21 小时前
Linux----权限
linux·运维·服务器
小白不想白a21 小时前
【shell】每日shell练习(系统服务状态监控/系统性能瓶颈分析)
linux·运维·服务器
一匹电信狗1 天前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
迦蓝叶1 天前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
bugtraq20211 天前
为什么.NET的System.IO.Compression无法解压zlib流
linux·运维·服务器
咖啡教室1 天前
每日一个计算机小知识:Linux
linux·后端
insight^tkk1 天前
【Docker】记录一次使用docker部署dify网段冲突的问题
运维·人工智能·docker·ai·容器
K_i1341 天前
Hadoop 集群自动化运维实战
运维·hadoop·自动化
TH_11 天前
cmd_常用命令
服务器