[转帖]Steam内存测试工具【转】
转自:https://www.cnblogs.com/iouwenbo/p/14377478.html
Stream测试是内存测试中业界公认的内存带宽性能测试基准工具。
Stream安装
官方源码地址:http://www.cs.virginia.edu/stream/FTP/Code/stream.c
配好软件源,安装编译器:
yum -y install gcc
上传Stream.c(stream.c版本为5.9)到待测试机器。编译:
gcc -O3 -fopenmp -DN=2000000 -DNTIMES=10 stream.c -o stream
编译参数解释:
- -O3:指定最高编译优化级别,即3
- -fopenmp:启用OpenMP,适应多处理器环境,更能得到内存带宽实际最大值。开启后,程序默认运行线程为CPU线程数
- -DN=2000000:指定测试数组a[]、b[]、c[]的大小(Array size)。该值对测试结果影响较大(5.9版本默认值2000000,。若stream.c为5.10版本,参数名变为-DSTREAM_ARRAY_SIZE,默认值10000000)。注意:必须设置测试数组大小远大于CPU 最高级缓存(一般为L3 Cache)的大小,否则就是测试CPU缓存的吞吐性能,而非内存吞吐性能。
推荐计算公式:
{最高级缓存X MB}×1024×1024×4.1×CPU路数/8,结果取整数
解释:由于stream.c源码推荐设置至少4倍最高级缓存,且STREAM_ARRAY_SIZE为double类型=8 Byte。所以公式为:最高级缓存(单位:Byte)×4.1倍×CPU路数/8
例如:测试机器是双路CPU,最高级缓存32MB,则计算值为32×1024×1024×4.1×2/8≈34393292

- -DNTIMES=10:执行的次数,并从这些结果中选最优值。
- stream.c:待编译的源码文件
- stream:输出的可执行文件名
其他参数:
- -mtune=native -march=native:针对CPU指令的优化,此处由于编译机即运行机器。故采用native的优化方法。更多编译器对CPU的优化参考
- -mcmodel=medium ;当单个Memory Array Size 大于2GB时需要设置此参数
- -DOFFSET=4096 ;数组的偏移,一般可以不定义
Stream使用
使用命令指定运行线程为X:
export OMP_NUM_THREADS=X
在编译输出的可执行文件(stream)所在目录下运行:
./stream
Stream测试结果示例:

附stream.c v5.10源码中的介绍:

参考:
[转帖]Steam内存测试工具【转】的更多相关文章
- 内存测试工具memtester
Memtester是用户态工具,用于测试内存子系统的故障.非常方便,支持32位 或64位Unix-like系统.对于硬件开发开发者来说,memtester可以定位到物理地址. 1. 安装 下载地址ht ...
- Memtester——Linux内存测试工具
一.Memtester简单介绍 Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, ...
- Ubuntu12.04下使用valgrind内存测试工具测试Qt程序
1. 到官网http://valgrind.org/downloads/上下载valgrind最新版本: 2. 解压源码,执行./configure;make;make install后,默认安装到/ ...
- 转载: 一、linux cpu、内存、IO、网络的测试工具
来源地址: http://blog.csdn.net/wenwenxiong/article/details/77197997 记录一下 以后好找.. 一.linux cpu.内存.IO.网络的测试工 ...
- linux 测试工具
最近在寻找linux的测试工具,试用了一些.记录如下. memtester 内存测试工具,通过对内存进行读写进行测试.可以对同一块空间进行多次的读写. 源码分析 http://www.cnblogs. ...
- 转://linux下的CPU、内存、IO、网络的压力测试工具与方法介绍
转载地址:http://wushank.blog.51cto.com/3489095/1585927 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "s ...
- APP的CPU,内存,耗电,流量测试工具
APP的CPU,内存,耗电,流量测试工具下载地址,后续文章会介绍如何使用Emmagee.itest.gt APP应用的CPU,内存,耗电,流量调查 可和同类产品比较,使用GT等工具:CPU靠syste ...
- APP性能测试工具GT的使用总结:app内存测试
APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...
- 【转帖】MBW内存测试
MBW内存测试 https://www.cnblogs.com/dongdongwq/p/5431561.html 在测试前,理应了解本机所具备的特点,比如CPU频率.内存频率.内存大小,等等信息. ...
- 【转帖】sysbench压力测试工具简介
sysbench压力测试工具简介 https://www.cnblogs.com/pdlife/p/6698957.html 一.sysbench压力测试工具简介: sysbench是一个开源的.模块 ...
随机推荐
- antd5中文设定
antd5中文设定 import zhCN from "antd/lib/locale/zh_CN" <ConfigProvider locale={zhCN} theme= ...
- 带你读顶会论文丨基于溯源图的APT攻击检测
摘要:本次分享主要是作者对APT攻击部分顶会论文阅读的阶段性总结,将从四个方面开展. 本文分享自华为云社区<[论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结>,作者:eastm ...
- YoloV5实战:手把手教物体检测
摘要:YOLOv5并不是一个单独的模型,而是一个模型家族,包括了YOLOv5s.YOLOv5m.YOLO... 本文分享自华为云社区<YoloV5实战:手把手教物体检测--YoloV5> ...
- 10年经验总结,华为fellow教你如何成为一名优秀的架构师?
摘要:华为云首席架构师分享成为架构师必备的一些特质和能力. 本文分享自华为云社区<10年经验总结,华为fellow教你如何成为一名优秀的架构师?>,作者: 技术火炬手 . 在<云享人 ...
- Oracle 删除唯一约束
1.查出有哪些约束 SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS FROM USER_CONSTRAINTS WHERE TABLE_NAME ='D_D ...
- Redis 数据一致性
概述 当我们在使用缓存时,如果发生数据变更,那么你需要同时操作缓存和数据库,而它们两个又分属不同的系统,因此无法做到同时操作成功或失败,因此在并发读写下很可能出现缓存与数据库数据不一致的情况 理论上可 ...
- C-Shopping基于Next.js,开源电商平台全新亮相
嗨,大家好!欢迎来到C-Shopping,这是一场揭开科技面纱的电商之旅.我是C-Shopping开源作者"继小鹏",今天将为你介绍一款基于最新技术的开源电商平台.让我们一同探索吧 ...
- 深入了解浮点运算——CPU 和 GPU 算力是如何计算的
随着国家大力发展数字经济,算力的提升和普惠变得越来越重要.在数字化时代,算力已成为推动科技发展和创新的关键要素.它不仅仅是衡量计算机处理速度的标准,还涉及计算机系统或设备执行计算任务的能力.数据处理能 ...
- 查看公网出口ip
curl cip.cc curl http://members.3322.org/dyndns/getip curl icanhazip.com curl ident.me curl ifconfig ...
- 在原生 html 中使用 vue,在浏览器中直接运行 .vue 文件,在 vue 中使用 leaflet
vue3-in-html 在html中使用vue3,不依赖nodejs和webpack,不依赖脚手架 demo源码 https://gitee.com/s0611163/vue3-in-html 功能 ...