memkind: https://github.com/memkind/memkind
jemalloc: https://github.com/jemalloc/jemalloc/releases
memkind简介
memkind库是一个构建在jemalloc之上的用户可扩展堆管理器,它可以控制内存特性和各种内存之间的堆分区。这类内存由已应用于虚拟地址范围的操作系统内存策略定义。
memkind支持的内存特性没有用户扩展,包括控制NUMA和页面大小功能。jemalloc非标准接口已经扩展,使专用领域能够通过memkind分区接口从操作系统请求虚拟内存。
通过其他memkind接口,用户可以在选择启用的功能时控制和扩展内存分区功能并分配内存 Memkind接口允许在指定设备上创建和控制文件支持的内存(PMEM类型)。
memkind库提供两个接口:
- hbwmalloc.h - 推荐用于高带宽内存使用情况(稳定)
- memkind.h - 更复杂用例的通用接口(稳定)
Linux安装
首先需要安装下面的依赖包:
- autoconf
- automake
- gcc-c++
- libnuma-devel
- libtool
- numactl-devel
- unzip
在 memkind github页面上下载 memkind源码,放到自己的主机上,然后解压,进入到memkind文件目录中。
./build.sh
make install
编译安装,使用下列命令查看是否安装成功:
man memkind
转载翻译自:https://github.com/memkind/memkind