天天看点

内存性能测试工具

与CPU的重要性类似,内存也是一个计算机系统中最基本、最重要的组件,因为任何应用程序的执行都需要用到内存。将内存密集型的应用程序分别在非虚拟化的原生系统和KVM客户机中运行,然后根据它们的运行效率就可以粗略评估KVM的内存虚拟化性能。对于内存的性能测试,可以选择CPU性能测试工具提到的SPECjbb2015、SysBench、内核编译等基准测试(因为它们同时也是内存密集型的测试),还可以选择LMbench、Memtest86+、STREAM等测试工具。下面简单介绍几种内存性能测试工具。

1. LMbench

LMbench是一个使用GNU GPL许可证发布的免费和开源的自由软件,可以运行在类UNIX系统中,以便比较它们的性能,下载链接:​​https://sourceforge.net/projects/lmbench/​​。LMbench是一个用于评价系统综合性能的可移植性良好的基准测试工具套件,它主要关注两个方面:带宽(bandwidth)和延迟(latency)。LMbench中包含了很多简单的基准测试,它覆盖了文档读写、内存操作、管道、系统调用、上下文切换、进程创建和销毁、网络等多方面的性能测试。

2. Memtest86+
3. STREAM
  • Copy是复制操作,先访问一个内存单元读出其中的值,再将值写入到另一个内存单元。
  • Scale是乘法操作,先从内存单元读出其中的值,作一个乘法运算,再将结果写入到另一个内存单元。
  • Add是加法操作,先从内存单元读出两个值,做加法运算, 再将结果写入到另一个内存单元。
  • Triad是将Copy、Scale、Add三种操作组合起来进行测试。具体操作方式是:先从内存单元中中读两个值a、b,对其进行乘加混合运算(a + 因子 * b ),再将运算结果写入到另一个内存单元。