标签: numa

NUMA:如何检查分配了 C++ 数组的 RAM 部分?

我有一台带有 2 个 CPU 和 64GB RAM、每个 CPU 32GB 的服务器。

我知道每个 CPU 都有自己的 RAM 部分,我们称它们为 RAM1 和 RAM2。我想让我的程序知道它在哪个 RAM(RAM1 或 RAM2)上分配数据。

我试图检查指针值:

  // put the thread at i-th CPU, using pthread_setaffinity_np
TData *a = new TData[N];
...
cout << "CPU = " << i << " adress = " << a << endl; 
Run Code Online (Sandbox Code Playgroud)

但输出看起来是随机的。我想那是因为地址是虚拟的。虚拟内存地址和部分内存有对应关系吗?

如何检查分配了我的数组“a”的哪个 RAM?

c++ multithreading virtual-memory numa

2
推荐指数
1
解决办法
2383
查看次数

Linux中的Numa平衡器

在最近的Linux版本中默认启用NUMA平衡器吗?如果是这样,我如何禁用NUMA平衡器请告诉我.

linux linux-kernel numa numactl

2
推荐指数
1
解决办法
6873
查看次数

什么内存访问架构有 i9 处理器?

什么内存访问架构i9 处理器(UMA 、NUMA 或 CC-NUMA)?

它与以前的处理器(如i7)有什么不同?

x86 intel cpu-architecture memory-access numa

2
推荐指数
1
解决办法
520
查看次数

为什么要告诉JAVA带有flag的NUMA?

我有系统。它是Java并使用多线程。还有 24 个启用 NUMA 的 CPU。为什么用 -XX:+UseNUMA 告诉 JAVA NUMA ?操作系统不是已经知道 NUMA 并且会处理吗?

我已经运行谷歌并没有找到这个答案。这一篇没有说:对于只有一个节点的系统,-XX:+UseNUMA 如何影响 JVM 性能?

感谢您

java numa

2
推荐指数
1
解决办法
2203
查看次数

C++ 中的 Seastar 框架是否允许用户在不同的线程中分配不同大小的内存?

我最近在学习 seastar 框架,一件让我很困惑的事情。官方教程说内存平均分配在线程(核)中,但这可能看起来很不方便。海星是否允许用户自己分配内存来达到每个核都有不同内存大小的目标?

c++ memory memory-management numa scylla

2
推荐指数
1
解决办法
52
查看次数

为什么不能从一个处理器直接访问另一个处理器的缓存?

在NUMA架构(非统一内存访问)中,每个处理器都有自己的第一级缓存,因此存在用于处理器通信的协议(MESI).但为什么不能将每个处理器直接连接到其他缓存?我读到"连接速度不够快",但这并没有解释太多.

谢谢.

caching processor multiprocessing numa mesi

1
推荐指数
1
解决办法
142
查看次数