打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
WebLogic Server的异常高 CPU 占用率(4)
userphoto

2012.12.17

关注
时间:2009-05-21 18:30来源:dev2dev 作者: 点击:575次
AIX 执行: ps -mp WLS_PID -o THREAD 以查找正在占用 CPU 的 tid。 您应当查看CP列(表示 CPU 占用率),看其中哪些线程的此项值比较高并从中挑选一个线程。 通过执行以下命令对服务器进行 Thread Dump: kill -3
USER    PID   PPID     TID ST  CP PRI SC    WCHAN        F     TT BND COMMAND
usera 250076 217266       - A   38  60 72        *   242011  pts/0   - /wwsl/sharedInstalls/aix/jdk130/...
-      -      -  315593 Z    0  97  1        -   c00007      -   - -
-      -      -  344305 S    0  60  1 f1000089c020e200   400400      -   - -
-      -      -  499769 S    0  60  1 f1000089c0213a00   400400      -   - -
-      -      -  540699 S    0  60  1 f100008790008440  8410400      -   - -
-      -      -  544789 S    0  60  1 f100008790008540  8410400      -   - -
-      -      -  548883 S    0  60  1 f100008790008640  8410400      -   - -
-      -      -  552979 S    0  60  1 f100008790008740  8410400      -   - -
-      -      -  565283 Z    0  60  1        -   c00007      -   - -
-      -      -  585783 S    0  60  1 f100008790008f40  8410400      -   - -
-      -      -  589865 Z    0  80  1        -   c00007      -   - -
-      -      -  593959 S    1  60  1 f100008790009140  8410400      -   - -
-      -      -  610365 S    0  60  1 f100008790009540  8410400      -   - -
-      -      -  614453 S    0  60  1 f100008790009640  8410400      -   - -
-      -      -  618547 S    0  60  1 f100008790009740  8410400      -   - -
-      -      -  622645 S    0  60  1 f100008790009840  8410400      -   - -
-      -      -  626743 S    0  60  1 f100008790009940  8410400      -   - -
-      -      -  630841 S    0  60  1 f100008790009a40  8410400      -   - -
-      -      -  634941 S    0  60  1 f100008790009b40  8410400      -   - -
-      -      -  639037 S    0  60  1 f100008790009c40  8410400      -   - -
-      -      -  643135 S    0  60  1 f100008790009d40  8410400      -   - -
-      -      -  647233 S    0  60  1 f100008790009e40  8410400      -   - -
-      -      -  651331 S    0  60  1 f100008790009f40  8410400      -   - -
-      -      -  655429 S    0  60  1 f10000879000a040  8410400      -   - -
-      -      -  659527 S    0  60  1 f10000879000a140  8410400      -   - -
-      -      -  663625 S    0  60  1 f10000879000a240  8410400      -   - -
-      -      -  667723 S   37  78  1 f1000089c020f150   400400      -   - -
-      -      -  671821 S    0  60  1 f10000879000a440  8410400      -   - -
-      -      -  675919 S    0  60  1        -   418400      -   - -
-      -      -  680017 S    0  60  1 f10000879000a640  8410400      -   - -
-      -      -  684115 S    0  60  1 f10000879000a740  8410400      -   - -
-      -      -  688213 S    0  60  1 f10000879000a840  8410400      -   - -
-      -      -  692311 S    0  60  1 f10000879000a940  8410400      -   - -
-      -      -  696409 S    0  60  1 f10000879000aa40  8410400      -   - -
-      -      -  712801 S    0  60  1 f10000879000ae40  8410400      -   - -
-      -      -  716899 S    0  60  1 f10000879000af40  8410400      -   - -
-      -      -  721011 S    0  60  1 f10000879000b040  8410400      -   - -
-      -      -  725095 S    0  60  1 f10000879000b140  8410400      -   - -
-      -      -  729193 S    0  60  1 f10000879000b240  8410400      -   - -
-      -      -  733291 S    0  60  1 f10000879000b340  8410400      -   - -
-      -      -  737389 S    0  60  1 f10000879000b440  8410400      -   - -
-      -      -  741487 S    0  60  1 f10000879000b540  8410400      -   - -
-      -      -  745585 S    0  60  1 f10000879000b640  8410400      -   - -
-      -      -  749683 S    0  60  1 f10000879000b740  8410400      -   - -
-      -      -  753781 S    0  60  1 f10000879000b840  8410400      -   - -
-      -      -  757879 S    0  60  1 f10000879000b940  8410400      -   - -
-      -      -  761977 S    0  60  1 f10000879000ba40  8410400      -   - -
-      -      -  766075 S    0  60  1 f10000879000bb40  8410400      -   - -
-      -      -  770173 S    0  60  1 f10000879000bc40  8410400      -   - -
-      -      -  774271 Z    0  60  1        -   c00007      -   - -
-      -      -  778373 S    0  60  1 f10000879000be40  8410400      -   - -
-      -      -  782467 S    0  60  1 f10000879000bf40  8410400      -   - -
-      -      -  786565 S    0  60  1 f10000879000c040  8410400      -   - -
-      -      -  790663 S    0  60  1 f10000879000c140  8410400      -   - -
-      -      -  794761 S    0  60  1 f10000879000c240  8410400      -   - -
-      -      -  798859 S    0  60  1 f10000879000c340  8410400      -   - -
-      -      -  802957 S    0  60  1 f10000879000c440  8410400      -   - -
-      -      -  807055 S    0  60  1 f10000879000c540  8410400      -   - -
-      -      -  811153 S    0  60  1 f10000879000c640  8410400      -   - -
-      -      -  815253 S    0  60  1 f10000879000c740  8410400      -   - -
-      -      -  819357 S    0  60  1 f10000879000c840  8410400      -   - -
-      -      -  823447 S    0  60  1 f10000879000c940  8410400      -   - -
-      -      -  827545 S    0  60  1 f10000879000ca40  8410400      -   - -
-      -      -  831643 S    0  60  1 f10000879000cb40  8410400      -   - -
-      -      -  835741 S    0  60  1 f10000879000cc40  8410400      -   - -
-      -      -  839839 S    0  60  1 f10000879000cd40  8410400      -   - -
-      -      -  843937 S    0  60  1 f10000879000ce40  8410400      -   - -
-      -      -  848037 S    0  60  1 f10000879000cf40  8410400      -   - -
-      -      -  852135 S    0  60  1 f10000879000d040  8410400      -   - -
-      -      -  856257 S    0  60  1 f10000879000d140  8410400      -   - -
-      -      -  868527 S    0  60  1 f10000879000d440  8410400      -   - -
-      -      -  872623 S    0  60  1 f10000879000d540  8410400      -   - -
-      -      -  876725 S    0  60  1 f10000879000d640  8410400      -   - -
通过 kill -3 <WLS_PID> 进行该 WLS_PID 的 Thread Dump
检查 ps -mp <WLS_PID> -o THREAD命令所输出的信息。
注意,TID "667723" 在 CP 列中有一个高值(它达到“37”,而其它 TID 几乎为 0)。
运行 dbx -a 250076以连接到WebLogic Server 进程。
运行 thread 命令以列出所有本地线程。
下面只显示相关线程的一个代码片断:
thread  state-k     wchan    state-u    k-tid   mode held scope function
.....
$t15    wait      0xf10000879000a140 blocked   659527     k   no   sys  _event_sleep
$t16    wait      0xf10000879000a240 blocked   663625     k   no   sys  _event_sleep
$t17    run                  running   667723     k   no   sys  JVM_Send
$t18    wait      0xf10000879000a440 blocked   671821     k   no   sys  _event_sleep
$t19    wait                 running   675919     k   no   sys  poll
$t20    wait      0xf10000879000a640 blocked   680017     k   no   sys  _event_sleep
.....
运行 th info 17 命令以获取关于该本地线程的必要信息:
(dbx) th info 17
thread  state-k     wchan    state-u    k-tid   mode held scope function
$t17    run                  running   667723     k   no   sys  JVM_Send
general:
pthread addr = 0x3ea55c68         size         = 0x244
vp addr      = 0x3e69e5e0         size         = 0x2a8
thread errno = 2
start pc     = 0x300408b0
joinable     = no
pthread_t    = 1011
scheduler:
kernel       =
user         = 1 (other)
event :
event        = 0x0
cancel       = enabled, deferred, not pending
stack storage:
base         = 0x3ea15000         size         = 0x40000
limit        = 0x3ea55c68
sp           = 0x3ea55054
非常重要说明:在 dbx 提示符下运行“detach”以从 WebLogic 进程中分离。
记下上述“pthread_t”的数值,并用来查找WebLogic Server 进程的 Thread Dump 中的正确线程。
从早期进行的 Thread Dump 中,您可以将十六进制号码“1011”与 Thread Dump 中在“native ID”之后的号码进行匹配。
下面是匹配此十六进制号码并造成高 CPU 占用率问题的线程示例:
"ExecuteThread: '11' for queue: 'default'" (TID:0x31cf86d8, sys_thread_t:0x3e5ea108, state:R, native ID:0x1011) prio=5
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java(Compiled Code))
at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.java(Compiled Code))
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java(Compiled Code))
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java(Compiled Code))
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java(Compiled Code))
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java(Compiled Code))
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java(Compiled Code))
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java(Compiled Code))
at weblogic.servlet.internal.ChunkWriter.write(ChunkWriter.java(Compiled Code))
at java.io.Writer.write(Writer.java(Compiled Code))
at java.io.PrintWriter.write(PrintWriter.java(Compiled Code))
at java.io.PrintWriter.write(PrintWriter.java(Compiled Code))
at java.io.PrintWriter.print(PrintWriter.java(Compiled Code))
at java.io.PrintWriter.println(PrintWriter.java(Compiled Code))
at examples.servlets.HelloWorldServlet.service(HelloWorldServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java(Compiled Code))
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
----- Native Stack -----
sysSend
JVM_Send
Java_java_net_SocketOutputStream_socketWrite
确定为什么在您的代码中正在发生这个问题,或者,如果堆栈的最顶端输出来自 WebLogic,请与 BEA 客户支持部门联系
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
WLS 的异常高CPU占用率
Java 线程转储
JVM:如何分析线程堆栈
weblogic 概述
Java进程占用CPU高的问题跟踪
真正的java学习从入门到精通
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服