问题标签 [numactl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
454 浏览

java - Java 进程报告“不正确”的可用处理器数量

我在 8 节点 NUMA 机器上运行 Java 1.6 进程,使用:

每个节点有 8 个 CPU,报告如下numactl --hardware

函数调用Runtime.getRuntime().availableProcessors()返回64

尽管有限制,为什么Runtime进程的对象报告 64 个可用处理器?cpunodebind有没有办法获得 Java 进程可用的实际处理器数量?

0 投票
1 回答
436 浏览

multithreading - 将后续线程组中的两个线程绑定到同一个核心

在这个应用程序中,我有一组 N (POSIX) 线程。第一组开始,创建一个对象 A,然后结束。稍后,一个具有 N 个线程的新组启动,使用 A 创建一个类似的对象 B,然后结束。这种模式是重复的。该应用程序是高度内存密集型的(A 和 B 有大量 malloc'ed 数组)。我希望尽可能地在本地访问内存。我可以用它numactl --localalloc来实现这一点,但为了让它工作,我还需要确保第一组和第二组中处理相同数据的线程绑定到同一个 NUMA 节点。我已经研究过sched_setaffinity,但想知道是否存在更好的方法。

应用程序的逻辑使得没有单独线程组的解决方案会破坏程序逻辑。也就是说,单组线程管理第一个对象 A 和后来的对象 B(中间没有结束)的解决方案将是非常人为的,并且会消除代码的面向对象布局。

0 投票
2 回答
481 浏览

c - 在NUMA中获取内存的位置

我目前正在研究具有 2 个节点的 NUMA 系统。我有一个指向某个内存的指针,但我不知道它在哪个节点。有什么办法可以得到内存的节点号?

(获取当前线程的节点掩码不起作用的原因是,该节点的内存已满,因此即使该线程与当前节点有关联,它仍然可能在相邻节点上分配内存。因此,我正在寻找一种直接获取内存位置的方法。)

0 投票
1 回答
70 浏览

shell - How to restricit my cpu affinity to a subset of the cpus available on a given machine?

I am working on a machine with 4 sockets with another person that launch performance tests on one precise socket and does not want anybody to iterfer with this socket.

I would like to work transparently on the 3 remaining sockets. How could could I do that, something like prefixing all my commands with numactl... ??

My shell is zsh

Thanks!

0 投票
2 回答
9110 浏览

linux - Linux 中的 Numa 平衡器

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

0 投票
1 回答
851 浏览

java - NUMA 系统上的 Spark

我正在考虑使用 Apache Spark 进行数据分析。过去,由于 NUMA 架构和对象位于单个节点的本地,我在 4 插槽服务器上经历过 Java/Scala 速度下降。解决方案是为每个 NUMA 节点启动一个单独的固定 JVM,并让它们使用 Akka 相互通信。

在 Spark 中如何处理 NUMA 以避免类似情况?

0 投票
1 回答
8019 浏览

mongodb - Docker 中的 Mongodb:numactl --interleave=all 解释

我正在尝试根据https://hub.docker.com/_/mongo/Dockerfile上的官方仓库为内存中的 MongoDB创建。

dockerfile-entrypoint.sh我遇到过:

基本上,如果存在,它会numactl --interleave=all添加到原始 docker 命令之前。numactl

但我真的不明白这个 NUMA 政策的事情。您能否解释一下 NUMA 的真正含义以及--interleave=all代表什么?

为什么我们需要使用它来创建 MongoDB 实例?

0 投票
0 回答
187 浏览

java - NUMA page_migration 性能问题

我正在运行带有约 80GB 内存映射文件的 java 应用程序,这些文件应该可以通过 TCP 访问,为此使用 AWS r3.8xlarge(我保留了它,因此迁移到非 NUMA 架构不是一种选择,至少是正确的现在)并有以下问题:

  • 在峰值负载期间,我注意到系统时间增加,性能工具显示大部分时间都花在 numa page_migration 上。是否可以在 NUMA 块之间以某种方式复制内存以防止页面从一个块连续移动到另一个块?(所有 CPU 访问所有 ~80G 内存)

(整个内存是只读的,可以在应用程序启动期间预先分配。)

在此处输入图像描述

0 投票
1 回答
677 浏览

c - MPICH2 中特定等级执行的核心绑定说 sched_setaffinity: Invalid argument。


我正在研究具有 144 个内核的 HPC。
我有 24 个节点,每个节点都有 6cpus。像
节点 0:0,1,2,3,4,5
节点 1:6,7,8,9,10,11
...
使用 Mpich2。我正在像这样运行我的 c ecxecutable。 mpiexec -n 25 ./a.out
在 a.out 中,它将作为 rank 0 使 master rank 1(这是免费的)工作,而 master rank 1 使 X=6 数字(它有时会改变 3,6, 7) 执行并行。使用numaactl -l --phycpubind = %d x.out在 2,3,4,5,6,7 级别上它正在工作,但问题是我收到错误sched_setaffinity: Invalid argument。
ps -aF 在 PSR 中为 x.out 打印写入绑定。
sched_setaffinity:参数无效。将来会出问题还是现在会出问题。
谢谢你。

0 投票
1 回答
1611 浏览

mongodb - MongoDB 和 NUMA

使用 NUMA 的这台机器上 MongoDB 写入性能确实很慢。我浏览了这个https://docs.mongodb.com/manual/administration/production-notes/。我禁用了区域回收并使用上述命令启动了 mongodb。NUMAnumactl --interleave=all警告现在消失了,但我无法获得性能。当我开枪时numactl -s,它显示

为什么我看不到策略 = 交错。我错过了什么吗?谁能帮助我如何提高我的写入性能和/或禁用此 NUMA?