allocbench —— 内存子系统性能测试
August 31, 2020 默认分类
allocbench
简介
allocbench
通过反复分配与使用、释放内存,测试内存子系统的性能。
内存性能,实际上不仅仅是内存本身的读写性能,也受到内核、malloc 例程等的影响。
模块
malloc_cyclic
测试 malloc
的连续分配性能与内核处理缺页中断的性能。
用法:./malloc_cyclic [size]
,size
为获取的内存大小(MB),仅当这个值为 256、512、1024、2048 时显示分数。
manipulation
测试 malloc
的不均匀分配性能,但不实际使用分配的内存。
用法:./manipulation
mmap
直接使用 mmap
获取内存,并访问每个内存页,检测内核处理 minor fault
(不需要实际 IO 的缺页中断)的能力。
使用方法:./mmap [size]
,size
为获取的内存大小(MB),仅当这个值为 256、512、1024、2048 时显示分数。
使用方法
> git clone https://github.com/pomoke/allocbench
> cd allocbench
> make
执行完以上命令后,目录内会出现相应的可执行文件,执行即可。
结果
目前,运行结果会以运行时间与分数(对 malloc_cyclic
,仅限 256M,512M,1024M,2048M)的形式呈现。
分数基准
以下为基准配置。基准配置的分数为 10000 分。例:如果你得到了 20000 分,那么性能为参照机的 2 倍。
处理器: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
内存 : 4GB
内核: Linux windland 5.7.0-3-amd64 #1 SMP Debian
内核命令行: root=/dev/mapper/main-root ro quietmalloc
例程 : glibc 2.31
关于
项目链接:https://github.com/pomoke/allocbench (求 star)