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

相关推荐
BXCQ_xuan5 分钟前
Ngrok 配置:实现 Uniapp 前后端项目内网穿透
运维·uni-app
矿工学编程10 分钟前
在宝塔中使用.NET环境管理部署 .NET Core项目
linux·.net
Roc-xb15 分钟前
解决Ubuntu22.04 安装vmware tools之后,不能实现文件复制粘贴和拖拽问题
linux·ubuntu22.04·vmvare
JANYI201817 分钟前
一文读懂-嵌入式Ubuntu平台
linux·运维·ubuntu
君鼎1 小时前
muduo库TcpServer模块详解
linux·网络·c++
开***能1 小时前
包装设备跨系统兼容:Profinet转Modbus TCP的热收缩包装机改造方案
服务器·网络·tcp/ip
卡戎-caryon1 小时前
【MySQL】02.数据库基础
linux·网络·数据库·mysql·存储引擎
Will_11301 小时前
如何实现k8s高可用
运维·docker·容器
李白你好2 小时前
H3C网络设备(交换机、路由器、防火墙)常用命令整理
运维·网络·智能路由器
无敌的牛2 小时前
Linux梦开始的地方
linux·运维·服务器