【问题标题】:How to bind ActivePivot Instances to physical cores如何将 ActivePivot 实例绑定到物理内核
【发布时间】:2013-01-22 15:49:29
【问题描述】:

我们在同一台服务器上部署两个 ActivePivot 实例(相互化)。

服务器有 12 个逻辑核心。我们有一个用于 ActivePivot 实例 A 的 4 核许可证和一个用于 ActivePivot 实例 B 的 2 核许可证。

我们如何确定两个实例各自使用自己的内核(而不是低效地共享相同的内核)?

【问题讨论】:

    标签: jvm activepivot


    【解决方案1】:

    ActivePivot 在 JVM 中运行,因此您可以通过将托管 ActivePivot 实例的 JVM 进程绑定到一组内核来实现。

    所有操作系统都有将进程绑定到内核的命令,Windows 中的 /affinity (http://blog.tune-up.com/windows-insights/assign-processor-affinity-to-improve-performance/) 和 Linux 中的任务集 (http://www.cyberciti.biz/faq/taskset-cpu-affinity-command/)。同样,诀窍是将 JVM 进程绑定到您想要的一组内核。如果您在 Apache Tomcat 中运行 ActivePivot,则意味着使用绑定命令启动 Tomcat。

    但我不会费心在您的用例中强制绑定。操作系统的线程调度程序可能会很好地在两个实例之间分配线程,并防止它们隐藏在相同的物理内核上。考虑到系统的其他线程,这种调度是完全动态的。

    我会考虑手动绑定的唯一情况是用于具有 NUMA 架构的大型服务器。因为将 JVM 隐藏到 NUMA 节点可以提高性能(参见How does NUMA architecture affect the performance of ActivePivot? 的讨论)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多