我使用 Visualvm 分析了我服务器上 tomcat 7 的高 cpu 使用率,以下是最高使用率: 我在 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/