首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numactl仅检测到一个本应为两个节点的节点

numactl仅检测到一个本应为两个节点的节点
EN

Stack Overflow用户
提问于 2012-08-21 01:06:23
回答 2查看 3.1K关注 0票数 1

我已经在serverfault中问过这个问题,但一周来没有任何回应。

我有一个双至强E5522 2.26 one (一个主板上有两个四核CPU )。据我所知,这是一个NUMA架构。机器运行的是带有3.2内核的ubuntu服务器12.04。

代码语言:javascript
复制
fdyn@fdyn-0:~/dev/numa_test$ uname -a
Linux fdyn-0 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64    x86_64 x86_64 GNU/Linux

内核应该是numa感知的

代码语言:javascript
复制
fdyn@fdyn-0:~$ grep NUMA=y /boot/config-3.2.0-23-generic 
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI_NUMA=y

问题是"numactl“无法识别这两个节点,它将其视为一个大的SMP机器。

代码语言:javascript
复制
~$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 32756 MB
node 0 free: 31036 MB
node distances:
node   0 
  0:  10 

我需要整个环境是numa感知的,这样我就可以编写numa应用程序了。?忽略这一点安全吗??如何才能使numactl识别这2个节点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-21 04:25:45

如评论中所述,NUMA需要固件支持。根据主板的不同,这可能意味着您需要在BIOS设置工具中启用它。

一些硬件,特别是苹果的Mac Pro,没有相应的设置,NUMA控制在这些机器上不起作用。你也许可以在网络上找到非官方的变通方法--如果你幸运的话,苹果不会锁定特定型号的寄存器(MSR)来启用它。您也许能够从英特尔找到有关NUMA的MSR文档,并使用msr.ko内核模块写入相关的MSR。默认情况下,所有内存访问都是跨两个节点交错进行的。

票数 2
EN

Stack Overflow用户

发布于 2015-03-13 11:54:34

你可以伪造numa节点,我在单处理器系统上这样做是为了测试numa

只需将and参数传递给内核

numa=fake=2将创建2个伪numa节点

更多信息请点击此处:http://linux-hacks.blogspot.hk/2009/07/fake-numa-nodes-in-linux.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12041953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档