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

相关推荐
EricFRQ3 小时前
devops自动化容器化部署
运维·自动化·devops
白云~️3 小时前
uniappx 打包配置32位64位x86安装包
运维·服务器·github
在河之洲木水4 小时前
现代多核调度器的本质 调度三重奏
linux·服务器·系统架构
文牧之5 小时前
PostgreSQL的扩展 pgcrypto
运维·数据库·postgresql
程序员JerrySUN5 小时前
驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
linux·开发语言·驱动开发·嵌入式硬件
白总Server5 小时前
多智能体系统的中间件架构
linux·运维·服务器·中间件·ribbon·架构·github
未来会更好yes5 小时前
Centos 7.6安装redis-6.2.6
linux·redis·centos
二猛子5 小时前
Linux(Centos版本)中安装Docker
linux·docker·centos
浪裡遊6 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
Johny_Zhao7 小时前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维