简单C代码可以使用libnuma
库在NUMA系统中的特定内存节点中分配内存。例如,可以使用以下功能完成:
void *numa_alloc_onnode(size_t size, int node)
如何在某个内存节点中实例化一个类?我能想到的一种方法是:
numa_set_membind(<nodemask>);
o = new Object();
numa_set_localalloc();
这会有用吗?
答案 0 :(得分:3)
Placement new正是您要找的。例如:
void *blob = numa_alloc_onnode(sizeof(Object), ...);
Object *object = new(blob) Object;