RHEL:有 4 个核心可用,但仅使用 1 个

RHEL:有 4 个核心可用,但仅使用 1 个

我在 rhel 上运行了一个繁重的 java 进程。它有 8GB 的​​ RAM 和 1 个 CPU 核心。在帮助下,tophtop发现没有足够的 CPU 可用于此进程。

我在 VMware 中添加了 3 个额外核心并重新启动。如果我执行,nproc我会看到 4 个,因此服务器上现在有 4 个核心。

我重新启动了 java 进程,但它并没有变快。我读到,如果有 4 个核心,top 可以显示到 400%。(每个核心显示到 100%)。当我执行时,top我看到 100%。我怀疑一个核心已完全使用,而其他 3 个核心没有做任何事情。

有没有办法让此进程或我的服务器使用所有可用的核心?我正在RHEL 7.2

答案1

您需要配置 JVM 以使用多个处理器,正如其他人在评论中提到的那样。这是一个应用程序问题,而不是操作系统问题。我相当肯定默认只使用一个 CPU。如果您没有专门配置它以使用更多 CPU,您将使一个 CPU 处于 100% 的状态,而其他三个几乎未使用,并且您的应用程序会受到影响。

相关内容