@typeof

allocbench —— 内存子系统性能测试

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 quiet
malloc 例程 : glibc 2.31

关于

项目链接:https://github.com/pomoke/allocbench (求 star)

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »