正文
memtester 以及 mlc 简单学习
下载
memtester
https://pyropus.ca./software/memtester/
下载好后直接进行 make 和make install 就可以了.
Intel MLC
Intel® Memory Latency Checker
下载地址.
https://www.intel.cn/content/www/cn/zh/download/736633/intel-memory-latency-checker-intel-mlc.html
intel 自己的工具 直接就可以运行.
memtester
make install 之后可以使用
man ./memtester.8 查看帮助.
测试方法也比较简单
./memtest 100M 10
使用100MB内存 测试十次
memtester 没有具体结果.. 仅有是否ok可以作为稳定性和设备是否正常的测试.
MLC
测试也很简单
./mlc 就可以进行测试.
因为没法测试 ARM的
(我暂时没找到源码进行编译的方法)
所以我近测试了下基本的一些机器信息.
注意官方文档里面有 -k 的参数可以指定使用多少核心.
这样就会有条件进行 虚拟机和物理机的带宽和延迟的验证.
云海OS虚拟机和物理机的内存延迟验证
虚拟机上面和物理机器均使用这个命令进行测试
mlc -k0-7
对应的结果为
机器类型 |
numa节点延迟 |
全部读的带宽 |
无延迟时插入的Delay |
无延迟时插入的带宽 |
物理机器 |
79.6-132.3 |
66945.6 |
282.45 |
65450.1 |
虚拟机 |
124.3 |
58728.5 |
338.05 |
56796.7 |
阿里AMD9T34 |
117.3 |
51572.8 |
1648.27 |
51461.5 |
Intel 8369HB虚拟机 |
110.5 |
48198.5 |
286.22 |
40459.3 |
结果分析与总结
理论上内存应该是read比write快
我这边看物理机器上面的多次测试也是这个结果.
但是诡异的是 虚拟机上面都是写比读快, 不知道是何种原因导致的.
AMD的mlc 测试数据极度的不好, 怀疑是Intel对自己的CPU进行过定性的优化.
自己的云海OS其实没有进行超售,并且复杂不大.
所以他的测试结果比物理机稍微有下降. 但是并不是特别明显.
最多有15%的差异.
但是看阿里云虚拟机 CPU 比云海的要强大很多, 但是内存带宽反而要查接近一半.
所以感觉阿里的机器应该是只是CPU优化内存可能并不是最佳.