gpt4 book ai didi

java - 如何让 WebLogic 使用多处理器机器上的所有处理器

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:44 25 4
gpt4 key购买 nike

昨天,我们注意到我们的一台多处理器服务器上的 Java/Web Logic 有一种奇怪的行为,所以想了解一下您的想法。

出于某种原因,Web Logic/Java 只使用可用的两个处理器中的一个。当我们运行一些重负载时,我可以看到一个处理器的 CPU 几乎达到 100%,而另一个处理器则完全空闲。这是否是虚拟机是否重要(..但这不是虚拟机)

有趣的是,任何其他操作系统 Activity 都表明处理器在两者上都有 Activity 。

问候,_UB

最佳答案

在常见情况下,WebLogic(以及 Java)应该能够使用其运行所在的服务器中的所有可用处理器。 WebLogic 有一个请求处理线程池,当请求同时到达时,它们会被并发处理。如果服务器有多个处理器,那么这些处理器应该由 Java 线程使用。

如果在 WebLogic 中运行的 Java Web 应用程序正在使用 SingleThreadModel在它的 servlet 中,没有两个线程可以同时执行 servlet,因此您只能看到一个 CPU 在那里工作。不推荐这个模型,我想反正用的不多。

我听到一些人提示他们无法让他们的 Java 应用程序服务器在运行虚拟机操作系统(如 VMWare)时使用超过 1 个 CPU,即使他们为 VM 专用了多个 CPU。我当时不知道这种奇怪行为的原因是什么。

也许您应该尝试使用并发请求访问一些非常简单的 JSP 页面,看看是否使用了 1 个以上的 CPU。如果这有效,则问题出在您的应用程序中。

关于java - 如何让 WebLogic 使用多处理器机器上的所有处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com