Linux内存带宽的一些测试笔记
最近要测一下设备的内存性能,于是找了些资料,用了些工具,写了些笔记。那个设备是intel的CPU,而intel有个很强大的工具,叫PTU,但我死活找不到下载链接,找到的文章是几年前写的,从那篇文章看是可以使用的,但我却无缘使用。
在测试前,理应了解本机所具备的特点,比如CPU频率、内存频率、内存大小,等等信息。
查看CPU用如下命令(多少个核,频率,特性等):
cat /proc/cpuinfo
查看内存用如下命令:(只有当前内存大小,已用空间等等,不能看到内存频率)
cat /proc/meminfo
要查看内存型号和频率等信息,用如下的命令:
sudo dmidecode -t memory
查看cpu内核频率命令:
cat /proc/cpuinfo |grep MHz|uniq
内存带宽的计算公式是:带宽=内存核心频率×内存总线位数×倍增系数。简化公式为:标称频率*位数。比如一条DDR3 1333MHz 64bit的内存,理论带宽为:1333*64/8=10664MiB/s = 10.6GiB/s。
下面写一下几个有关的工具
1、mbw工具
ubuntu下已经可以直接安装使用,无须下载源码编译。安装命令:
apt-get install mbw
常用命令:
mbw -q -n 10 256
-n 10表示运行10次,256表示测试所用的内存大小,单位为MB。
mbw测试了MEMCPY、DUMB、MCBLOCK等方式的内存带宽。从测试结果看,前2都差不多,最后一种测试得到的带宽值比较高。
下面是使用taskset指定CPU核心和运行mbw次数的脚本。真正使用到的是taskset命令,它可以指定程序在哪个CPU核上跑,在多核CPU上,是个不错的工具。
#!/bin/bash
i=0;
while [[ $i -lt $1 ]]
do
echo to cpu$i
taskset -c $i mbw -q -n $2 256 > /dev/null &
((i++));
done
如./foo 2 10,表示在序号为0到2的CPU跑mbw10次。
2、bandwidth工具
这个工具也很牛,网址为http://zsmith.co/bandwidth.html。它将测试结果生成BMP图,可以很直观观察各种内存大小的带宽。下载源码后,要改Makefile,把font.o minifont.o放在OBJ处,否则编译不通过,我也搞了很久才解决编译问题的。这个工具支持很多平台,输入make就可以看到。在32位x86上编译命令:make bandwidth32。直接运行,之后有结果和BMP输出,不过时间要久一点。
3、lmbench工具
这个工具功能强大,像内存、CPU、文件系统、网络,都可以测试。ubuntu直接apt-get install lmbench来安装即可,不用自己下载源码。直接运行lmbench,此时要很多项要手动填写,不过大部分用默认即可。但建议测试的内存不要选太大,否则系统空间就不够,如果内存很大,可以用512MB或1024MB,不要用默认的那个值就行。最后,像mail这些,直接输入no就行了。运行时间也是挺久的,测试结果后,有提示说结果文件存放在哪个目录,到那个目录下拿就行了。
不过我发现,直接安装的lmbench,并没有单独测试某一种性能的工具,而且运行时间也久,于是在网找上了源码,地址为:http://sourceforge.net/projects/lmbench/files/latest/download,很久以前,很多外国网站都访问不了,只能自己想办法找代理去下载了。下载后,直接解压,输入make即可。会生成很多不同的测试工具,每一个都可以单独来测试,时间节省不了。——我实在不想只测试一内存性能的时候,让工具测试一堆的CPU、硬盘、网络的带宽。
参考:
http://blog.yufeng.info/archives/1511
PS:对于intel网站的那个工具,下载要注册,而且文件十分庞大,还有图形界面,功能当然也十分强大,但我不想只测试一点东西就搞那么多的东西,因而只好放弃了。
李迟,于2014年10月21日中午,发表前好几天已写好文章
Linux内存带宽的一些测试笔记相关推荐
- K1 Power Linux上Stream测试内存带宽
K1 Power Linux上Stream测试内存带宽 本篇文章介绍在K1 Power Linux上理论内存带宽结算,实测内存带宽方法,衡量服务器的内存带宽水平.需要说明的是,对于Scale UP的P ...
- Linux下stream内存带宽测试参数和示例详解附源码(总结)
目录 一.简介 二.使用简介 2.1 测试内容简介 2.2 编译参数简介 2.3 具体参数示例 三.源码下载及使用 四.其他相关知识链接 FIO测试硬盘性能参数和实例总结 一.简介 本文通过实例详细讲 ...
- bandwidth 0.32k 发布,内存带宽测试工具
bandwidth 0.32k 修复了一些小的 AVX 问题. Bandwidth 是一个内存带宽测试的基准工具,但它也可以测量网络带宽.它可以测量每个内存系统的最大内存带宽,包括主内存,L1和L2缓 ...
- 【开发工具】【stream】内存带宽测试工具(Stream)的使用
获取更多相关的嵌入式开发工具,可收藏系列博文,持续更新中: [开发工具]嵌入式常用开发工具汇总帖 Stream简介 STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写 ...
- 《嵌入式Linux内存使用与性能优化》笔记
<嵌入式Linux内存使用与性能优化>笔记 这本书有两个关切点:系统内存(用户层)和性能优化. 这本书和Brendan Gregg的<Systems Performance>相 ...
- 嵌入式Linux内存压力测试
原文参考:添加链接描述 1 前言 内存是电子计算机的最重要组成要素之一. 与内存对应的就是外存,如硬盘.外部存储器等.内存是将外存与CPU连接起来的桥梁,计算机中所有数据都需经过内存进行交互,而且 ...
- Linux内存压力测试stressapptest
/*********************************************************************** Linux内存压力测试stressapptest* 说 ...
- linux内存测试工具memtest,Linux-内存检测利器Memtest86+v1.70
[Linux]内存检测利器Memtest86+ v1.70 Memtest86+是一款基于Linux核心的内存检测工具,由x86-secret小组在Chris Brady的Memtest86的基础上增 ...
- 《嵌入式linux内存使用与性能优化》读书笔记
<嵌入式linux内存使用与性能优化>读书笔记 前言 本书的重点分为系统内存和性能优化,前4章着重内存使用,尽量减少进程的内存使用量,定位和发现内存泄漏:后5章着重与如何让系统性能优化,加 ...
最新文章
- 天才也勤奋!DeepMind哈萨比斯自述:领导400名博士向前,每天工作至凌晨4点
- swift_037(Swift之Swift和OC混编)
- 5.PHP与Web页面交互
- 16.算法调用优先于手写的循环
- Content-Disposition 响应头,设置文件在浏览器打开还是下载
- 霍因科技获首届全国信创产业生态创新奖
- Python面向对象的基本实现
- mysql 文本备份_[MySQL]用mysqldump制作文本备份_MySQL
- mac mysql not found_mac版mysql安装后显示mysql: command not found咋整?
- 本地、服务器文件互传命令
- 为什么技术人干得越久越拿不到高薪?
- 微信开始收费,一年130元起!?
- Java并发编程技术
- 算法: 最大矩形面积85. Maximal Rectangle
- prototype中文参数乱码解决方案
- 在android studio开发中,关于绘制GifView异常,硬件加速问题的解决办法
- TCP三次握手详解-深入浅出(有图实例演示)
- Python批量采集百度相关搜索词教程
- 移动应用程序设计基础——数据库实践——简单日记本
- [原创翻译]RFC1619 PPP over SONET/SDH
热门文章
- 苹果官宣春季发布会!不止有iPhone SE 3,还有紫色iPhone 13 Pro?
- 华为Mate50渲染图曝光:经典奥利奥相机模组
- 一加10 Pro首发定制X轴线性马达:Top级超大体积 安卓阵营马达天花板
- 亿铸科技完成过亿元天使轮融资 指数资本担任独家财务顾问
- 传新一轮估值200亿美金 小红书回应:以老股东增持为主
- 卖一头猪亏500元,“猪茅”也扛不住了?
- 得益于iPad 苹果二季度在平板电脑应用处理器市场份额接近60%
- “持续亏钱”的NIO Power反而让蔚来更具竞争优势
- 为何亏损还要烧更多的钱?这次何小鹏说清楚了
- 受iPhone 12销量变化影响 Q2柔性OLED面板出货量预计环比下滑35%