linux环境下的java程序,cpu持续升高("GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f918)
ZMLXS 2017-06-06 05:43:46 问题描述:
系统使用的是jdk1.7, 4核的。项目启动时候cpu是1%多,但是将近一周时候,cpu会升到182%,根据网上的方法搜索,知道是线程没有释放,但是我如何定位是在项目哪个地方呢 ?
下面是部分日志
"main" prio=10 tid=0x00007f918c009000 nid=0x59c79 runnable [0x00007f9192874000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:464)
at org.apache.catalina.startup.Catalina.await(Catalina.java:717)
at org.apache.catalina.startup.Catalina.start(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
"VM Thread" prio=10 tid=0x00007f918c069000 nid=0x59c82 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f918c01e800 nid=0x59c7e runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f918c020800 nid=0x59c7f runnable
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f918c022800 nid=0x59c80 runnable
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f918c024800 nid=0x59c81 runnable
"VM Periodic Task Thread" prio=10 tid=0x00007f918c0aa800 nid=0x59c89 waiting on condition
JNI global references: 174