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的[优化参考](http://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/i386-and-x86_002d64-Options.html)
* -mcmodel=medium ;当单个Memory Array Size 大于2GB时需要设置此参数
* -DOFFSET=4096 ;数组的偏移,一般可以不定义

Stream使用

使用命令指定运行线程为X:

export OMP_NUM_THREADS=X

在编译输出的可执行文件(stream)所在目录下运行:

./stream

Stream测试结果示例:

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

Steam内存测试工具相关推荐

  1. 内存测试工具memtester使用详解

    memtester的下载地址:http://pyropus.ca/software/memtester/  有源码安装包.deb包.rpm包等. 源码已经编译好,在linux下只要make一下就好了. ...

  2. win十下内存测试软件,教你windows10内存测试工具怎么使用

    有时候我们的电脑会出现无故的蓝屏,或是重新启动,这时就要考虑是不是内存的问题,那么我们怎么样检测内存呢?win10的用户会问如何对windows10的内存进行系统测试,对于一些用户是比较头疼的问题,对 ...

  3. Linux入门 内存测试工具(Memtest86+)

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 一.memtest ...

  4. Linux入门:内存测试工具(Memtest86+)

    一.memtest86+ 接触到memtest86+是因为Linux,但是这个内存测试工具并不是依附于Linux: memtest86+ 是一款内存测试工具,但是这款软件不能够在windows或Lin ...

  5. linux内存测试工具memtest,Linux-内存检测利器Memtest86+v1.70

    [Linux]内存检测利器Memtest86+ v1.70 Memtest86+是一款基于Linux核心的内存检测工具,由x86-secret小组在Chris Brady的Memtest86的基础上增 ...

  6. linux内存测试工具memtest,内存检测工具Memtest使用方法(图文教程)

    MemTest Version是个比较少见的内存检测工具,它不但可以彻底的检测出内存的稳定度,还可同时测试记忆的储存与检索资料的能力,让你可以确实掌控到目前你机器上正在使用的内存到底可不可信赖. 使用 ...

  7. 【开发工具】【memtester】内存测试工具(memtester)的使用

    获取更多相关的嵌入式开发工具,可收藏系列博文,持续更新中: [开发工具]嵌入式常用开发工具汇总帖 Memtester简介 Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主 ...

  8. 【内存】memtest86内存测试工具介绍

    简介 memtest86工具,如名字所述,就是测试内存的工具. 可以在如下的网站下载到免费版本: MemTest86 - Download now! 目前该工具只支持x86平台. 目前最新的是7.4版 ...

  9. linux内存测试工具memtest,用Memtest86检测电脑内存

    一起学习 很少会有因为系统内存的问题使电脑产生异常的故障.但是内存在硬件评测时的作用非常重要.操作系统会自动耗费一定的内存,除此之外的内存会被储存起来备用.我最近发现了一个非常好的内存检测工具软件-M ...

最新文章

  1. IT十八掌作业_java基础第六天_接口与适配器模式、多态、内部类
  2. 天玑机器人颈椎_烟台一女子车祸致颈椎重度骨折 骨科机器人助力救治
  3. 将xap包嵌入到博客园中
  4. Python中metaclass解释
  5. UI常见测试用例-51testing
  6. 《高性能网站建设指南》笔记-2 规则1——减少HTTP请求
  7. 理解T-SQL: 脚本和批处理
  8. linux 中查找文件,并且将目标文件按时间顺序排序
  9. php软件开发--mysql数据库进阶
  10. 给一线讲产品·7期|用户在云上如何快速搭建安全防护体系?
  11. HDOJ-2091 空心三角形 C语言
  12. 中计算均方误差_为什么分类问题不使用均方误差作为代价函数
  13. 选择电子名片的优势及电子名片适用的行业,你知多少?
  14. python实现之初等函数二——反函数
  15. 前端程序员应该理解的reduce方法,对你的js能力很有帮助
  16. E-牛牛小数点_牛客练习赛89(数学)
  17. Lumerical Mode FDE 碰到的错误整理【整理中】
  18. 用8266学习单片机-13-HC-SR04超声波模块测距示例-Ultrasonic-US-015
  19. C#窗体程序使用SQL数据库
  20. scratch(图形化编程工具)做一个贪吃蛇的游戏(包含视频讲解+源码)!

热门文章

  1. Linux命令-查看用户的UID和GID
  2. J2me项目实例------网络通讯录(1) (转)
  3. 百度地图API——多点路径连线问题
  4. document.getElementById(“id”)与$(#id)的区别
  5. 网站QQ客服链接代码
  6. 软件设计师:07-法律法规与标准化与多媒体基础
  7. MySQL基础学习笔记
  8. MongoDB Tailable Cursors
  9. Java debugger模式调试
  10. DANN:Unsupervised Domain Adaptation by Backpropagation