最近java进程cpu上升到100多降不下来,整个进程垮掉,jstack查看如下

greenbeans 2017-07-10 03:46:06
跪求帮忙!请帮忙分析问题到底集中在哪里,原有应用发布一直都整成,最近数据库做了调整,数据量增加了30%左右(主要是表增了一些列),在数据库调整了一个月后,就基本上每天出现一两次CPU冲到100%多,而且降不下来,最后只能重启tomcat。
"Attach Listener" daemon prio=10 tid=0x094c0400 nid=0x4e88 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE

"pool-1-thread-4" prio=10 tid=0x095c0400 nid=0x3bfd waiting on condition [0xadb69000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0xb45bc768> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)

"http-9080-Processor92" daemon prio=10 tid=0xadd52800 nid=0x1116 runnable [0xaa925000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0xbd8cbf00> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:502)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2390)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2364)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2141)
at com.ntnet.gjj.dk.entity.DkBgTrans.getFileList(DkBgTrans.java:715)
at com.ntnet.gjj.dk.entity.DkBgTrans.getEndfileName(DkBgTrans.java:1030)
at com.ntnet.gjj.dk.action.DkBgAction.doProcess(DkBgAction.java:401)
at com.ntnet.base.AjaxActionServlet.doGet(AjaxActionServlet.java:86)
at com.ntnet.base.AjaxActionServlet.doPost(AjaxActionServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.ntnet.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:6
中间很多进程…………………………

"Thread-4" prio=10 tid=0xae162000 nid=0xfd8 waiting on condition [0xad9ac000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.runqian.report4.view.CleanTimeoutParams.run(Unknown Source:25)

"Thread-3" prio=10 tid=0xae19d400 nid=0xfd6 waiting on condition [0xad9fe000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.runqian.report4.cache.CacheMonitor.run(Unknown Source:35)

"TCP_SERVER_MAIN_THREAD" prio=10 tid=0xae138000 nid=0xfd5 runnable [0xadafe000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:210)
at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
- locked <0xb4481a88> (a sun.nio.ch.Util$2)
- locked <0xb4481a98> (a java.util.Collections$UnmodifiableSet)
- locked <0xb4481a48> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
at com.ntnet.yqzl.server.TcpServerNt$1.run(TcpServerNt.java:83)

"Prototyper" daemon prio=10 tid=0x090af800 nid=0xfd4 in Object.wait() [0xae286000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xb4493468> (a org.logicalcobwebs.proxool.PrototyperThread)
at java.lang.Object.wait(Object.java:485)
at org.logicalcobwebs.proxool.PrototyperThread.doWait(PrototyperThread.java:69)
- locked <0xb4493468> (a org.logicalcobwebs.proxool.PrototyperThread)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:58)

"HouseKeeper" daemon prio=10 tid=0xae7fac00 nid=0xfd3 waiting on condition [0xae2d7000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:46)

"Low Memory Detector" daemon prio=10 tid=0xaf604800 nid=0xfcf runnable [0x00000000]
java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0xaf602800 nid=0xfce waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0xaf600800 nid=0xfcd waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x08e43c00 nid=0xfcc runnable [0x00000000]
java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x08e2e000 nid=0xfcb in Object.wait() [0xaf390000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xb42f4f90> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0xb42f4f90> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x08e29400 nid=0xfca in Object.wait() [0xaf3e1000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xb42f4f68> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0xb42f4f68> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x08ce5800 nid=0xfba runnable [0xf72ea000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0xb448dc48> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:513)
at org.apache.catalina.startup.Catalina.await(Catalina.java:619)
at org.apache.catalina.startup.Catalina.start(Catalina.java:579)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

"VM Thread" prio=10 tid=0x08e25800 nid=0xfc9 runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x08cecc00 nid=0xfbb runnable
…………

"GC task thread#12 (ParallelGC)" prio=10 tid=0x08cfd800 nid=0xfc8 runnable

"VM Periodic Task Thread" prio=10 tid=0xaf60e800 nid=0xfd0 waiting on condition

JNI global references: 47337

...全文
458 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
greenbeans 2017-07-11
  • 打赏
  • 举报
回复
请问您指的死循环是数据库端的吗?
NANU-NANA 2017-07-10
  • 打赏
  • 举报
回复
你的进程全停滞了。 是不是死循环了。
greenbeans 2017-07-10
  • 打赏
  • 举报
回复
在线等待,求帮忙分析!

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧