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

相关推荐
HABuo19 分钟前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
oMcLin33 分钟前
如何在 Rocky Linux 8.7 上通过 Prometheus 与 Grafana 结合,提升大规模容器环境的监控与性能分析?
linux·grafana·prometheus
橘颂TA34 分钟前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
埃伊蟹黄面37 分钟前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·
五仁火烧1 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
黄焖鸡能干四碗1 小时前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
JiMoKuangXiangQu1 小时前
Linux build:头文件安装
linux·headers_install
橙露1 小时前
国产PLC与进口PLC全面对比分析:技术、市场与未来趋势
运维·网络
lbb 小魔仙1 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
清水白石0081 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python