tomcat cpu占用过高的问题
"ajp-nio-8009-ClientPoller-0" #53 daemon prio=5 os_prio=0 tid=0x000000001af75800 nid=0x3f6c runnable [0x000000001f38e000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked <0x000000008045c548> (a sun.nio.ch.Util$3)
- locked <0x000000008045c538> (a java.util.Collections$UnmodifiableSet)
- locked <0x000000008045c3c8> (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:825)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"NioBlockingSelector.BlockPoller-2" #25 daemon prio=5 os_prio=0 tid=0x000000001a6a6000 nid=0x2c2c runnable [0x000000001c7bf000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked <0x0000000080473840> (a sun.nio.ch.Util$3)
- locked <0x0000000080473830> (a java.util.Collections$UnmodifiableSet)
- locked <0x0000000080469600> (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:298)
Locked ownable synchronizers:
- None
相关推荐
记一次tomcat进程cpu占用过高的问题排查记录
本文主要记录一次tomcat进程,因TCP连接过多导致CPU占用过高的问题排查记录。 问题描述 linux系统下,一个tomcat web服务的cpu占用率非常高,top显示结果超过200%。请求无法响应。反复重启依然同一个现象。 问题排查 1、获取进程信息 通过jdk提供的jps命令可以快速查出jvm进程, jps pid 2、查看jstack信息 jstack pid 发现存在大量log4j线程block,处于waiting lock状态 org.apache.log4j.Category.callAppenders(org.apache.log4j.spi.LoggingE
分析tomcat占用cpu高的原因
分析tomcat占用cpu高的原因
一次因Java应用造成CPU过高的排查实践过程
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。下面这篇文章主要给大家介绍了一次因Java应用造成CPU过高的排查实践过程,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
tomcat cpu high
tomcat cpu hightomcat cpu high
高CPU占用排查方法[项目源码]
本文详细介绍了在Linux环境下排查Java应用高CPU占用的方法。通过top命令定位到问题进程后,使用ps命令进一步确认是tomcat进程出现问题。接着通过ps -mp pid -o THREAD,tid,time命令显示线程列表,找到耗时最高的线程。然后使用printf命令将线程ID转换为16进制格式,最后通过jstack命令打印线程的堆栈信息,定位到具体的问题代码。文章还分析了问题代码的原因,并提供了修改建议。此外,还总结了排查CPU故障的其他方法和技巧,包括使用top、PS、jstack和pstack等命令。最后,文章还介绍了如何使用jhat工具分析Java堆复制文件,以及如何使用jstat命令监视JVM内存情况。


Web 开发
