![RHEL:有 4 个核心可用,但仅使用 1 个](https://linux22.com/image/704490/RHEL%EF%BC%9A%E6%9C%89%204%20%E4%B8%AA%E6%A0%B8%E5%BF%83%E5%8F%AF%E7%94%A8%EF%BC%8C%E4%BD%86%E4%BB%85%E4%BD%BF%E7%94%A8%201%20%E4%B8%AA.png)
我在 rhel 上运行了一个繁重的 java 进程。它有 8GB 的 RAM 和 1 个 CPU 核心。在帮助下,top
我htop
发现没有足够的 CPU 可用于此进程。
我在 VMware 中添加了 3 个额外核心并重新启动。如果我执行,nproc
我会看到 4 个,因此服务器上现在有 4 个核心。
我重新启动了 java 进程,但它并没有变快。我读到,如果有 4 个核心,top 可以显示到 400%。(每个核心显示到 100%)。当我执行时,top
我看到 100%。我怀疑一个核心已完全使用,而其他 3 个核心没有做任何事情。
有没有办法让此进程或我的服务器使用所有可用的核心?我正在RHEL 7.2
答案1
您需要配置 JVM 以使用多个处理器,正如其他人在评论中提到的那样。这是一个应用程序问题,而不是操作系统问题。我相当肯定默认只使用一个 CPU。如果您没有专门配置它以使用更多 CPU,您将使一个 CPU 处于 100% 的状态,而其他三个几乎未使用,并且您的应用程序会受到影响。