Java高CPU线程| JBOSS EAP 6.3 |无法获取根本原因

Java高CPU线程| JBOSS EAP 6.3 |无法获取根本原因,java,multithreading,jboss,cpu-usage,Java,Multithreading,Jboss,Cpu Usage,非常感谢您的帮助和指导 报告的问题是JBOSS的CPU利用率高(>95%) JBOSS EAP 6.3 alpha通过windows server上的NSSM()配置为服务 我已经捕获了线程转储并确定了高CPU利用率线程(总共5个),如下所示: nativeId(十进制小数点后10位):6428、2768、5904、6100和6840。这些线程消耗大约15% 每个CPU的数量 通过线程转储未观察到死锁 我还没有编写部署的代码,也没有这些线程的源代码,所以作为交付/实现团队的一员,我有点被卡住了

非常感谢您的帮助和指导

报告的问题是JBOSS的CPU利用率高(>95%)

  • JBOSS EAP 6.3 alpha通过windows server上的NSSM()配置为服务
  • 我已经捕获了线程转储并确定了高CPU利用率线程(总共5个),如下所示: nativeId(十进制小数点后10位):6428、2768、5904、6100和6840。这些线程消耗大约15% 每个CPU的数量
  • 通过线程转储未观察到死锁
  • 我还没有编写部署的代码,也没有这些线程的源代码,所以作为交付/实现团队的一员,我有点被卡住了

  • 对于这5个线程,堆栈跟踪的2种类型/变体如下所示:

    http-/0.0.0.0:8080-187 优先级:6-线程ID:0x0000000022d29800-nativeId:0x191c-nativeId(十进制):6428-状态:可运行 堆栈跟踪: java.lang.Thread.State:可运行 位于java.lang.Throwable.fillInStackTrace(本机方法) 位于java.lang.Throwable.fillInStackTrace(Throwable.java:783)

    • 锁定(java.util.concurrent.ExecutionException) 位于java.lang.Throwable。(Throwable.java:310) 位于java.lang.Exception。(Exception.java:102) 位于java.util.concurrent.ExecutionException。(ExecutionException.java:92) 位于sun.nio.ch.CompletedFuture.get(CompletedFuture.java:78) 位于org.apache.tomcat.util.net.NioChannel.readBytes(NioChannel.java:597) 位于org.apache.coyote.http11.InternalNioInputBuffer.blockingRead(InternalNioInputBuffer.java:504) 位于org.apache.coyote.http11.InternalNioInputBuffer.fill0(InternalNioInputBuffer.java:449) 位于org.apache.coyote.http11.InternalNioInputBuffer.access$100(InternalNioInputBuffer.java:50) 位于org.apache.coyote.http11.InternalNioInputBuffer$InputBufferImpl.doRead(InternalNioInputBuffer.java:528) 位于org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116) 位于org.apache.coyote.http11.InternalNioInputBuffer.doRead(InternalNioInputBuffer.java:407) 在org.apache.coyote.Request.doRead(Request.java:438) 位于org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:357) 位于org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:422) 位于org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:389) 位于org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193) 位于org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:999) 位于org.apache.commons.fileupload.MultipartStream$ItemInputStream.close(MultipartStream.java:943) 位于org.apache.commons.fileupload.MultipartStream$ItemInputStream.close(MultipartStream.java:922) 在org.apache.commons.io.IOUtils.closequity上(IOUtils.java:280) 位于org.apache.commons.io.IOUtils.closequity(IOUtils.java:223) 位于org.apache.commons.fileupload.util.Streams.copy(Streams.java:123) 位于org.apache.commons.fileupload.util.Streams.copy(Streams.java:70) 位于org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:347) 位于org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115) 位于com.newgen.wfdesktop.servlet.filehandler.processRequest(filehandler.java:70) 位于com.newgen.wfdesktop.servlet.filehandler.doPost(filehandler.java:122) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:754) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于com.newgen.ibps.security.xss.SECRequestValidator.doFilter(SECRequestValidator.java:231) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于com.newgen.wfdesktop.filter.WDSessionCheckFilter.doFilter(WDSessionCheckFilter.java:378) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于com.newgen.wfdesktop.filter.WDClickJackFilter.doFilter(WDClickJackFilter.java:179) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) 位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:420) 位于org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) 位于org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:353) 位于org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:911) 位于org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:920) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:745) 锁定可拥有的同步器:
    • (一个java.util.concurrent.ThreadPoolExecutor$Worker)
    http-/0.0.0.0:8080-146 优先级:6-线程ID:0x0000000024579000-本地ID:0xad0-本地ID(十进制):2768-状态:可运行 堆栈跟踪: java.lang.Thread.State:可运行 位于java.lang.Throwable.fillInStackTrace(本机方法) 在java.lang。