c++ - 获取 NUMA 系统中的节点距离(跳数)

标签 c++ windows linux memory numa

是否有任何 API/方法来获取两个 NUMA 节点之间的“距离”(在文献中称为“跳跃”)?我想实现一个利用这一点的内存分配系统(从最近的节点重用内存,因为访问速度更快)。
Windows 似乎没有这样的功能......而 libnuma(在 Linux 下)似乎也没有。有什么方法可以获取此信息(即使使用“cpuid”之类的信息)?

最佳答案

对于 Linux,至少可以通过解析/proc 来获取拓扑。这被解释为例如在 Ulrich Drepper's "What every programmer should know about memory" 的第 5 章中.第 6.5 章也有些相关。

关于c++ - 获取 NUMA 系统中的节点距离(跳数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038420/

相关文章:

c++ - 从 (char*, size_t) 创建 C++ 内存流的更简单方法,无需复制数据?

c# - Hook 第三个 X 鼠标按钮?

linux - bin 目录中的可执行文件何时运行

linux - 尝试放置错误变量时如何修复 Tcl 'Command not found' 错误?

c++ - boost::thread 在程序启动之前挂起?

c++ - 我应该制作所有不应该改变常量的东西吗?

c++ - 增加进程的内存使用

windows - 无法在 Docker 中停止 jupyterhub?

python - Windows 上奇怪的路径分隔符

linux - 如何从 jenkins 作业在工作区中创建点文件