java - Tomcat 的高 CPU 使用率

标签 java tomcat tomcat7 cpu-usage

我使用 Visualvm 分析了我服务器上 tomcat 7 的高 cpu 使用率,以下是最高使用率: enter image description here 我在 server.xml 文件中的配置:

<Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000"
        redirectPort="8443" maxThreads="800" minSpareThreads="150" URIEncoding="UTF-8"/>

请帮我找出导致这个问题的原因以及解决方法。

提前致谢。

最佳答案

没有足够的信息/证据来解释正在发生的事情。这可能是请求线程数量过多的直接结果,也可能是您的 web 应用程序中的潜在问题因线程数量而加剧。

我能从中得出的唯一(可能)线索是(也许)高 TakeQueue 值意味着某些东西正在进行大量内部请求转发。

我建议:

  • 将线程数减少 10 倍或更多,看看是否有任何不同。同时激活大量线程是一件坏事。如...对系统性能不利。

  • 使用 visualvm 尝试找出工作线程正在做什么。

  • 查看您是否可以在 tomcat 日志和请求日志中发现错误或异常行为。 (将日志记录级别调到最大...)

关于java - Tomcat 的高 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640768/

相关文章:

java - jackson 漂亮的印花绳

java - 如何对 Jersey + Guice : ServiceLocator? 进行单元测试

java - SOAP 设置参数java

java - Eclipse tomcat - 无法显示 index.jsp 页面

java - 在 Tomcat 7 中部署 JAX-WS Web 应用程序

java - 如何在一台服务器上处理多个域请求?

java - Junit Test 通用接口(interface) java

java - 运行在 1.6 JVM 上的 Jetty 无法运行在 Java 1.6 上编译的 webapp

apache - Apache、Tomcat、端口 80、8080 和其他东西的组合

spring - 配置文件的 cargo 复制不起作用