Linux内存带宽的一些测试笔记
Linux内存带宽的一些测试笔记
最近要测一下设备的内存性能,于是找了些资料,用了些工具,写了些笔记。那个设备是intel的CPU,而intel有个很强大的工具,叫PTU,但我死活找不到下载链接,找到的文章是几年前写的,从那篇文章看是可以使用的,但我却无缘使用。
在测试前,理应了解本机所具备的特点,比如CPU频率、内存频率、内存大小,等等信息。
查看CPU用如下命令(多少个核,频率,特性等):
1 |
cat /proc/cpuinfo |
查看内存用如下命令:(只有当前内存大小,已用空间等等,不能看到内存频率)
1 |
cat /proc/meminfo |
要查看内存型号和频率等信息,用如下的命令:
1 |
sudo dmidecode -t memory |
查看cpu内核频率命令:
1 |
cat /proc/cpuinfo |grep MHz|uniq |
内存带宽的计算公式是:带宽=内存核心频率×内存总线位数×倍增系数。简化公式为:标称频率位数。比如一条DDR3 1333MHz 64bit的内存,理论带宽为:`133364/8=10664MiB/s = 10.6GiB/s`。
下面写一下几个有关的工具
1、mbw工具
ubuntu下已经可以直接安装使用,无须下载源码编译。安装命令:
1 |
apt-get install mbw |
常用命令:
1 |
mbw -q -n 10 256 |
-n 10表示运行10次,256表示测试所用的内存大小,单位为MB。
mbw测试了MEMCPY、DUMB、MCBLOCK等方式的内存带宽。从测试结果看,前2都差不多,最后一种测试得到的带宽值比较高。
下面是使用taskset指定CPU核心和运行mbw次数的脚本。真正使用到的是taskset命令,它可以指定程序在哪个CPU核上跑,在多核CPU上,是个不错的工具。
1 |
#!/bin/bash |
如./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内存带宽的一些测试笔记的更多相关文章
- Linux内存带宽的一些测试笔记【转】
转自:https://blog.csdn.net/subfate/article/details/40343497 版权声明:本文为迟思堂主人李迟原创文章,版权所有.可随便任意使用(包括学习研究商用) ...
- Linux内核设计与实现 读书笔记 转
Linux内核设计与实现 读书笔记: http://www.cnblogs.com/wang_yb/tag/linux-kernel/ <深入理解LINUX内存管理> http://bl ...
- Linux系统性能测试工具(一)——内存带宽测试工具mbw
本文介绍关于Linux系统(适用于centos/ubuntu等)的内存带宽测试工具-mbw.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: 内存综合性能 ...
- Linux内存管理学习笔记 转
https://yq.aliyun.com/articles/11192?spm=0.0.0.0.hq1MsD 随着要维护的服务器增多,遇到的各种稀奇古怪的问题也会增多,要想彻底解决这些“小”问题往往 ...
- 《嵌入式Linux内存使用与性能优化》笔记
这本书有两个关切点:系统内存(用户层)和性能优化. 这本书和Brendan Gregg的<Systems Performance>相比,无论是技术层次还是更高的理论都有较大差距.但是这不影 ...
- Linux内存压力测试stressapptest
/********************************************************************** * Linux内存压力测试stressapptest * ...
- Linux内存压力测试-memtester工具
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- MySQL 调优基础(二) Linux内存管理
进程的运行,必须使用内存.下图是Linux中进程中的内存的分布图: 其中最重要的 heap segment 和 stack segment.其它内存段基本是大小固定的.注意stack是向低地址增长的, ...
- Linux内存模型
http://blog.csdn.net/sunyubo458/article/details/6090946 了解linux的内存模型,或许不能让你大幅度提高编程能力,但是作为一个基本知识点应该熟悉 ...
随机推荐
- OO_Unit4 UML模型化设计总结
OO_Unit4 UML模型化设计总结 任务简介:本单元在介绍了UML中几种基本的模型图元素的基础上,通过实现课程组提供的官方接口来完成自己的UML解析器. 架构设计 本单元最终的整体架构图如下(不包 ...
- Sentinel上生产环境只差一步,监控数据持久化
之前介绍了Sentinel相关的文章,小伙伴在生产实践中不知道有没有这个疑问?我们的Sentinel控制台监控的数据只能看最近5分钟的,如图 那么就导致历史数据是查看不了的,那肯定是不行的,在生产环境 ...
- python进阶(15)多线程与多进程效率测试
前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程 正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python ...
- Java on Visual Studio Code的更新 – 2021年3月
欢迎来到Java的VS Code更新.在过去的几个月中,我们的工程师一直在专注于一些非常重要的工作.现在,是时候揭开面纱了,开始吧. 类型层次结构(Type hierarchy) VS Code已经支 ...
- k8s 无头service 方式向内发布
k8s 无头service 是指 clusterIP 为 None 的service 案例,假定有一个 deployment,containerPort 端口80,同时还被打上 python=mywe ...
- Ionic5沉浸式状态栏 适配全面屏
1. 在platforms/android/app/src/main目录中找到AndroidManifest.xml文件,修改文件中manifest → application → activity标 ...
- 1022 Digital Library
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
- 1003 Emergency (25分)
As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...
- 01- web测试快速入门
web测试与APP测试最非常重要的两个测试种类.web端指的就是在浏览器页面的测试. 你测试的软件通常是两种结构的,B/S架构与C/S架构. B/S架构:Browser/Server 浏览器与服务器模 ...
- 『政善治』Postman工具 — 2、Postman主界面详细介绍
目录 1.Postman菜单栏 (1)File 菜单 (2)Edit 菜单 (3)View 菜单 (4)Help 菜单 2.Postman工具栏 3.Postman工具栏中的系统设置 4.Postma ...