Chinaunix首页 | 论坛 | 博客

qsh

  • 博客访问: 4054470
  • 博文数量: 1015
  • 博客积分: 15904
  • 博客等级: 上将
  • 技术积分: 8572
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 19:16
文章分类

全部博文(1015)

文章存档

2019年(1)

2017年(1)

2016年(19)

2015年(27)

2014年(30)

2013年(95)

2012年(199)

2011年(72)

2010年(109)

2009年(166)

2008年(296)

分类: Java

2016-08-20 12:23:45

 weblogic CPU高分析 2014-12-25 00:17:28

分类: LINUX


如果要诊断weblogic CPU占用率比较高
[root@was01 base_domain]# pwd
/weblogic/bea/user_projects/domains/base_domain
[root@was01 base_domain]# cat start.sh 
#!/bin/sh
nohup ./bin/startWebLogic.sh& 1>/dev/null 2>&1
[root@was01 base_domain]# ./start.sh 
[root@was01 base_domain]# nohup: 把输出追加到"nohup.out"
[root@was01 ~]# ps -ef | grep java
root      3726  3690 20 00:10 pts/1    00:00:07 /weblogic/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -Xverify:none -da -Dplatform.home=/weblogic/bea/wlserver_10.3 -Dwls.home=/weblogic/bea/wlserver_10.3/server -Dweblogic.home=/weblogic/bea/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/weblogic/bea/patch_wlw1030/profiles/default/sysext_manifest_classpath:/weblogic/bea/patch_wls1030/profiles/default/sysext_manifest_classpath:/weblogic/bea/patch_cie660/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/weblogic/bea/wlserver_10.3/server/lib/weblogic.policy weblogic.Server
root      3835  3783  0 00:11 pts/2    00:00:00 grep java
[root@was01 bin]# cd /weblogic/bea/jdk160_05/bin/
[root@was01 bin]# ./jstack 3726 > /home/jstack.txt

点击(此处)折叠或打开

  1. [root@was01 home]# cat jstack.txt
  2. 2014-12-25 00:13:02
  3. Full thread dump Java HotSpot(TM) Client VM (10.0-b19 mixed mode):
  4. "Attach Listener" daemon prio=10 tid=0xc97a5400 nid=0xf62 waiting on condition [0x00000000..0x00000000]
  5. java.lang.Thread.State: RUNNABLE
  6. "[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0xcc7bdc00 nid=0xeba in Object.wait() [0xc95ab000..0xc95abef0]
  7. java.lang.Thread.State: WAITING (on object monitor)
  8. at java.lang.Object.wait(Native Method)
  9. - waiting on <0xce6e0000> (a weblogic.work.ExecuteThread)
  10. at java.lang.Object.wait(Object.java:485)
  11. at weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
  12. - locked <0xce6e0000> (a weblogic.work.ExecuteThread)
  13. at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
  14. "DynamicListenThread[Default]" daemon prio=10 tid=0xc97aec00 nid=0xeb8 runnable [0xc95fc000..0xc95fcd70]
  15. java.lang.Thread.State: RUNNABLE
  16. at java.net.PlainSocketImpl.socketAccept(Native Method)
  17. at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
  18. - locked <0xd0cf12e0> (a java.net.SocksSocketImpl)
  19. at java.net.ServerSocket.implAccept(ServerSocket.java:453)
  20. at java.net.ServerSocket.accept(ServerSocket.java:421)
  21. at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
  22. at weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:523)
  23. at weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:415)
  24. at weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:166)
  25. at java.lang.Thread.run(Thread.java:619)
  26. "DynamicListenThread[Default[1]]" daemon prio=10 tid=0xcc77e400 nid=0xeb7 runnable [0xc987f000..0xc987fdf0]
  27. java.lang.Thread.State: RUNNABLE
  28. at java.net.PlainSocketImpl.socketAccept(Native Method)
  29. at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
  30. - locked <0xd0cf14f8> (a java.net.SocksSocketImpl)
  31. at java.net.ServerSocket.implAccept(ServerSocket.java:453)
  32. at java.net.ServerSocket.accept(ServerSocket.java:421)
  33. at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
  34. at weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:523)
  35. at weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:415)
  36. at weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:166)
  37. at java.lang.Thread.run(Thread.java:619)
  38. "weblogic.GCMonitor" daemon prio=10 tid=0xc9405800 nid=0xeb6 in Object.wait() [0xc98d0000..0xc98d1070]
  39. java.lang.Thread.State: TIMED_WAITING (on object monitor)
  40. at java.lang.Object.wait(Native Method)
  41. - waiting on <0xd0cf1708> (a java.lang.ref.ReferenceQueue$Lock)
  42. at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
  43. - locked <0xd0cf1708> (a java.lang.ref.ReferenceQueue$Lock)
  44. at weblogic.platform.GCMonitorThread.waitForNotification(GCMonitorThread.java:88)
  45. at weblogic.platform.GCMonitorThread.run(GCMonitorThread.java:64)
  46. "Thread-11" daemon prio=10 tid=0xc9731000 nid=0xeaf waiting on condition [0xc9972000..0xc99730f0]
  47. java.lang.Thread.State: WAITING (parking)
  48. at sun.misc.Unsafe.park(Native Method)
  49. - parking to wait for <0xd096fd18> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  50. at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
  51. at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
  52. at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
  53. at weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
  54. at weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)
  55. at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:615)
  56. at weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)
  57. "DoSManager" daemon prio=10 tid=0xccf14400 nid=0xeac waiting on condition [0xc9921000..0xc9921f70]
  58. java.lang.Thread.State: TIMED_WAITING (sleeping)
  59. at java.lang.Thread.sleep(Native Method)
  60. at com.octetstring.vde.DoSManager.run(DoSManager.java:433)
  61. "VDE Transaction Processor Thread" daemon prio=10 tid=0xcc771c00 nid=0xeaa in Object.wait() [0xc99c3000..0xc99c3e70]
  62. java.lang.Thread.State: WAITING (on object monitor)
  63. at java.lang.Object.wait(Native Method)
  64. - waiting on <0xd05c9a90> (a com.octetstring.vde.backend.standard.TransactionProcessor)
  65. at java.lang.Object.wait(Object.java:485)
  66. at com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:367)
  67. - locked <0xd05c9a90> (a com.octetstring.vde.backend.standard.TransactionProcessor)
  68. at com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:212)
  69. "ExecuteThread: '4' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0xcc766400 nid=0xea9 waiting for monitor entry [0xc9a14000..0xc9a14ef0]
  70. java.lang.Thread.State: BLOCKED (on object monitor)
  71. at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
  72. - waiting to lock <0xd03e2ec0> (a weblogic.socket.PosixSocketMuxer$1)
  73. at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
  74. at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
  75. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
  76. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
  77. "ExecuteThread: '3' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0xcc765400 nid=0xea8 waiting for monitor entry [0xc9a65000..0xc9a65d70]
  78. java.lang.Thread.State: BLOCKED (on object monitor)
  79. at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
  80. - waiting to lock <0xd03e2ec0> (a weblogic.socket.PosixSocketMuxer$1)
  81. at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
  82. at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
  83. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
  84. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
  85. "ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0xcc70dc00 nid=0xea7 waiting for monitor entry [0xc9ab6000..0xc9ab6df0]
  86. java.lang.Thread.State: BLOCKED (on object monitor)
  87. at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
  88. - waiting to lock <0xd03e2ec0> (a weblogic.socket.PosixSocketMuxer$1)
  89. at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
  90. at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
  91. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
  92. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
  93. "ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0xcc727000 nid=0xea6 waiting for monitor entry [0xc9b07000..0xc9b08070]
  94. java.lang.Thread.State: BLOCKED (on object monitor)
  95. at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
  96. - waiting to lock <0xd03e2ec0> (a weblogic.socket.PosixSocketMuxer$1)
  97. at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
  98. at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
  99. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
  100. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
  101. "ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0xcc717c00 nid=0xea5 in Object.wait() [0xc9b58000..0xc9b590f0]
  102. java.lang.Thread.State: WAITING (on object monitor)
  103. at java.lang.Object.wait(Native Method)
  104. - waiting on <0xd0483210> (a [Lweblogic.socket.PosixSocketInfo$FdStruct;)
  105. at java.lang.Object.wait(Object.java:485)
  106. at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:97)
  107. - locked <0xd0483210> (a [Lweblogic.socket.PosixSocketInfo$FdStruct;)
  108. - locked <0xd03e2ec0> (a weblogic.socket.PosixSocketMuxer$1)
  109. at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
  110. at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
  111. at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
  112. at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
  113. "Thread-7" daemon prio=10 tid=0xcc704000 nid=0xea4 waiting on condition [0xc9ba9000..0xc9ba9f70]
  114. java.lang.Thread.State: WAITING (parking)
  115. at sun.misc.Unsafe.park(Native Method)
  116. - parking to wait for <0xd04d32c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  117. at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
  118. at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
  119. at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
  120. at weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
  121. at weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)
  122. at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:615)
  123. at weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)
  124. "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0xc9e24000 nid=0xea3 in Object.wait() [0xc9dfe000..0xc9dfeff0]
  125. java.lang.Thread.State: WAITING (on object monitor)
  126. at java.lang.Object.wait(Native Method)
  127. - waiting on <0xd0266cd8> (a weblogic.work.ExecuteThread)
  128. at java.lang.Object.wait(Object.java:485)
  129. at weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
  130. - locked <0xd0266cd8> (a weblogic.work.ExecuteThread)
  131. at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
  132. "weblogic.timers.TimerThread" daemon prio=10 tid=0xca0d2800 nid=0xea2 in Object.wait() [0xc9f5c000..0xc9f5ce70]
  133. java.lang.Thread.State: TIMED_WAITING (on object monitor)
  134. at java.lang.Object.wait(Native Method)
  135. - waiting on <0xd0266e00> (a weblogic.timers.internal.TimerThread)
  136. at weblogic.timers.internal.TimerThread$Thread.run(TimerThread.java:267)
  137. - locked <0xd0266e00> (a weblogic.timers.internal.TimerThread)
  138. "weblogic.time.TimeEventGenerator" daemon prio=10 tid=0xc9e50400 nid=0xea1 in Object.wait() [0xc9fad000..0xc9fadef0]
  139. java.lang.Thread.State: TIMED_WAITING (on object monitor)
  140. at java.lang.Object.wait(Native Method)
  141. - waiting on <0xd0266e80> (a weblogic.time.common.internal.TimeTable)
  142. at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:286)
  143. - locked <0xd0266e80> (a weblogic.time.common.internal.TimeTable)
  144. at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:117)
  145. at java.lang.Thread.run(Thread.java:619)
  146. "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0xca092000 nid=0xea0 in Object.wait() [0xc9ffe000..0xc9ffed70]
  147. java.lang.Thread.State: WAITING (on object monitor)
  148. at java.lang.Object.wait(Native Method)
  149. - waiting on <0xd0266ef0> (a weblogic.work.ExecuteThread)
  150. at java.lang.Object.wait(Object.java:485)
  151. at weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
  152. - locked <0xd0266ef0> (a weblogic.work.ExecuteThread)
  153. at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
  154. "Timer-1" daemon prio=10 tid=0xca0fa400 nid=0xe9f in Object.wait() [0xca269000..0xca269df0]
  155. java.lang.Thread.State: TIMED_WAITING (on object monitor)
  156. at java.lang.Object.wait(Native Method)
  157. - waiting on <0xd0267010> (a java.util.TaskQueue)
  158. at java.util.TimerThread.mainLoop(Timer.java:509)
  159. - locked <0xd0267010> (a java.util.TaskQueue)
  160. at java.util.TimerThread.run(Timer.java:462)
  161. "Timer-0" daemon prio=10 tid=0xca445c00 nid=0xe9d in Object.wait() [0xcb04f000..0xcb050070]
  162. java.lang.Thread.State: WAITING (on object monitor)
  163. at java.lang.Object.wait(Native Method)
  164. - waiting on <0xcff61108> (a java.util.TaskQueue)
  165. at java.lang.Object.wait(Object.java:485)
  166. at java.util.TimerThread.mainLoop(Timer.java:483)
  167. - locked <0xcff61108> (a java.util.TaskQueue)
  168. at java.util.TimerThread.run(Timer.java:462)
  169. "Low Memory Detector" daemon prio=10 tid=0xf7668000 nid=0xe95 runnable [0x00000000..0x00000000]
  170. java.lang.Thread.State: RUNNABLE
  171. "CompilerThread0" daemon prio=10 tid=0xf7666800 nid=0xe94 waiting on condition [0x00000000..0xcc8aaaa8]
  172. java.lang.Thread.State: RUNNABLE
  173. "Signal Dispatcher" daemon prio=10 tid=0xf7665400 nid=0xe93 runnable [0x00000000..0xcce6db50]
  174. java.lang.Thread.State: RUNNABLE
  175. "Finalizer" daemon prio=10 tid=0xf7655c00 nid=0xe92 in Object.wait() [0xccefe000..0xccefeef0]
  176. java.lang.Thread.State: WAITING (on object monitor)
  177. at java.lang.Object.wait(Native Method)
  178. - waiting on <0xcfd82f20> (a java.lang.ref.ReferenceQueue$Lock)
  179. at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
  180. - locked <0xcfd82f20> (a java.lang.ref.ReferenceQueue$Lock)
  181. at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
  182. at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
  183. "Reference Handler" daemon prio=10 tid=0xf7654800 nid=0xe91 in Object.wait() [0xcd072000..0xcd072d70]
  184. java.lang.Thread.State: WAITING (on object monitor)
  185. at java.lang.Object.wait(Native Method)
  186. - waiting on <0xcfd82fa8> (a java.lang.ref.Reference$Lock)
  187. at java.lang.Object.wait(Object.java:485)
  188. at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
  189. - locked <0xcfd82fa8> (a java.lang.ref.Reference$Lock)
  190. "main" prio=10 tid=0xf7605800 nid=0xe8f in Object.wait() [0xf777d000..0xf777e1c8]
  191. java.lang.Thread.State: WAITING (on object monitor)
  192. at java.lang.Object.wait(Native Method)
  193. - waiting on <0xcfd830d0> (a weblogic.t3.srvr.T3Srvr)
  194. at java.lang.Object.wait(Object.java:485)
  195. at weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:811)
  196. - locked <0xcfd830d0> (a weblogic.t3.srvr.T3Srvr)
  197. at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:459)
  198. at weblogic.Server.main(Server.java:67)
  199. "VM Thread" prio=10 tid=0xf7651800 nid=0xe90 runnable
  200. "VM Periodic Task Thread" prio=10 tid=0xf7671800 nid=0xe96 waiting on condition
  201. JNI global references: 701
[root@was01 home]# ps -eL -o pid,%cpu,lwp|grep -i 3726
 3726  0.0  3726
 3726  0.8  3727
 3726  0.1  3728
 3726  0.0  3729
 3726  0.0  3730
 3726  0.0  3731
 3726  0.1  3732
 3726  0.0  3733
 3726  0.0  3734
 3726  0.0  3741
 3726  0.0  3743
 3726  1.3  3744
 3726  0.0  3745
 3726  0.0  3746
 3726  0.5  3747
 3726  0.0  3748
 3726  0.0  3749
 3726  0.0  3750
 3726  0.0  3751
 3726  0.0  3752
 3726  0.0  3753
 3726  0.0  3754
 3726  0.0  3756
 3726  0.0  3759
 3726  0.0  3766
 3726  0.0  3767
 3726  0.0  3768
 3726  0.0  3770
 3726  0.0  3938

将线程号换算成16进制,然后在jstack.txt文档里面找到该线程对应的堆栈信息。
阅读(1637) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~