Linux中的物理位置感知用户空间内存分配(内存控制器亲和性)

时间:2010-08-05 08:00:27

标签: c linux multithreading malloc parallel-processing

我想测试如果从不同的物理CPU和不同的嵌入式内存控制器分配和访问内存,以便为基于64位,2 CPU,16核的Intel Xeon 5500 CPU的服务器而可能发生的性能变化。 (戴尔T710)

查看供应商白皮书,我可以看到每个物理CPU都有3个独立的内存控制器。还有2个物理CPU,总共6个并行内存控制器。我想知道内存副本在同一个控制器,同一物理CPU内的不同控制器以及不同物理CPU之间的性能。

要做到这一点,我需要设置进程的CPU亲和力(可以做)和内存亲和力到物理CPU(似乎是从cpu亲和力继承)然后内存亲和力到内存控制器(不知道) !)。

有人知道如何在Linux上执行此操作吗?

我假设物理地址对应于内存控制器,所以或者有没有办法在Linux中为用户空间内存请求请求物理内存范围?

1 个答案:

答案 0 :(得分:1)

Linux内核Documentation/numastat.txt提到用于管理内存控制器的numactl包:http://linuxmanpages.com/man8/numactl.8.php