我使用Visualvm来分析服务器上tomcat 7的高CPU使用率,以下是最常用的用法: 我在server.xml文件中的配置:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" maxThreads="800" minSpareThreads="150" URIEncoding="UTF-8"/>
请帮我找出造成这个问题的原因以及解决方法。
提前致谢。
答案 0 :(得分:1)
没有足够的信息/证据来解释发生了什么。这可能是拥有过多请求线程的直接结果,也可能是因为线程数量加剧了webapp中的潜在问题。
我可以解决的唯一(可能)线索是(可能)高TakeQueue值意味着正在进行大量内部请求转发。
我建议:
将线程数减少10倍或更多,看看是否有任何区别。同时激活大量线程是一件坏事。如...对系统性能不利。
使用visualvm尝试解决工作线程正在做什么。
查看您是否可以发现tomcat日志中的错误或异常行为以及请求日志。 (将记录级别调高到最大值......)