WLS 的异常高 CPU 占用率4

上一篇 / 下一篇  2008-12-16 23:35:49 / 个人分类:Weblogic

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
AIX
l0~_7|0?d1^ r%D051Testing软件测试网4q/k9Y.l u8jOY$^!Q
执行: ps -mp <WLS_PID> -o THREAD 以查找正在占用 CPU 的 tid。
p$v2qwRx5bm0您应当查看“CP”列(表示 CPU 占用率),看其中哪些线程的此项值比较高并从中挑选一个线程。51Testing软件测试网6gWw FS2XW
通过执行以下命令对服务器进行 Thread Dump:51Testing软件测试网gkbloES
kill -3 <WLS_PID>
D*l%kJ9v)T@0运行: dbx -a <WLS_PID>
jY;C&bqqA0在 dbx 中时,运行 dbx thread命令(以列出所有线程)。51Testing软件测试网{jS7K"_Rt
查找与您通过 ps -mp <PID -o THREAD 命令获取的 TID 匹配的行。
kk/^6x|0该行中的号码应当采用“$t<NUM>”格式,其中“NUM”是一个号码。
#h u6u(}zpQ6I0在 dbx 中时,运行 dbx 命令 th info <TID>(此 TID 来自上一步骤,该步骤在 $t<NUM>后面列出号码)以获取关于该线程的信息。51Testing软件测试网}HK ML+N,[
从第 3 步骤的输出中,在“general”下查找“pthread_t”,并记录该十六进制号码。51Testing软件测试网_['h`rN8Z
非常重要说明:在 dbx 提示符下,您需要在完成操作时在 dbx 命令行键入“detach”,否则,如果您在连接到进程时只要一退出,dbx 将终止该进程!
;l-H_:ox0@8M:G-p0记下“p_thread_t”输出中的十六进制值,并在 Thread Dump 中搜索其中哪个线程的“native ID”等于该值。51Testing软件测试网A(g2k)]f5~D
这将为您揭示造成高 CPU 占用率问题的线程。
1f)MTV+T9K%n/}Q^051Testing软件测试网 p8Ff\0}?5V
确定为什么在您的代码中正在发生这个问题,或者,如果堆栈的最顶端输出来自 WebLogic,请与 BEA 客户支持部门联系。51Testing软件测试网4e0WW4ap2K8q-iB
下面是 AIX 系统中上述进程的一个示例:51Testing软件测试网GE%Df/~.r'Q Tw
ps -mp 250076 -o THREAD 将显示以下内容:
Y2}"HZ q0

7I"D,hB\&E0USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND51Testing软件测试网-E4s f'NP#a'IB'e,w
usera 250076 217266 - A 38 60 72 * 242011 pts/0 - /wwsl/sharedInstalls/aix/jdk130/...
J;O s#BO Z7^I;u7n0- - - 315593 Z 0 97 1 - c00007 - - -51Testing软件测试网D4I8p#S6F0U V W
- - - 344305 S 0 60 1 f1000089c020e200 400400 - - -
(t$P}6h+DSn-V{0- - - 499769 S 0 60 1 f1000089c0213a00 400400 - - -51Testing软件测试网:M*\2?${e
- - - 540699 S 0 60 1 f100008790008440 8410400 - - -51Testing软件测试网't+o&F} `,z \
- - - 544789 S 0 60 1 f100008790008540 8410400 - - -51Testing软件测试网1sY:VW3Dg7um
- - - 548883 S 0 60 1 f100008790008640 8410400 - - -
U ?y2K%Wm dO$D%g0- - - 552979 S 0 60 1 f100008790008740 8410400 - - -51Testing软件测试网.RJA\V7X
- - - 565283 Z 0 60 1 - c00007 - - -
6d6qt9j6|o"Y-u pB0- - - 585783 S 0 60 1 f100008790008f40 8410400 - - -
g]"wk T#~k0- - - 589865 Z 0 80 1 - c00007 - - -51Testing软件测试网3Z#E8f L0D%v
- - - 593959 S 1 60 1 f100008790009140 8410400 - - -51Testing软件测试网'^5y&a(R\Da9Jkw@
- - - 610365 S 0 60 1 f100008790009540 8410400 - - -
5z+y3aeJC c0- - - 614453 S 0 60 1 f100008790009640 8410400 - - -
_s nJ)n(D0- - - 618547 S 0 60 1 f100008790009740 8410400 - - -51Testing软件测试网"~K0s!bV
- - - 622645 S 0 60 1 f100008790009840 8410400 - - -51Testing软件测试网6yN PM&U4I/g+}q.cJ
- - - 626743 S 0 60 1 f100008790009940 8410400 - - -51Testing软件测试网&d#NAH_:m(d
- - - 630841 S 0 60 1 f100008790009a40 8410400 - - -
4H&X+I7U*A0- - - 634941 S 0 60 1 f100008790009b40 8410400 - - -51Testing软件测试网jx`5Y5_Qv&uJX)Gi+E4j
- - - 639037 S 0 60 1 f100008790009c40 8410400 - - -51Testing软件测试网"A0TK}V4k
- - - 643135 S 0 60 1 f100008790009d40 8410400 - - -51Testing软件测试网7o"jEDR&j$B PEx s N
- - - 647233 S 0 60 1 f100008790009e40 8410400 - - -
O$CM] a:g@#B0- - - 651331 S 0 60 1 f100008790009f40 8410400 - - -51Testing软件测试网6{:VRN]Pn;@9i
- - - 655429 S 0 60 1 f10000879000a040 8410400 - - -
o-w8q\"[,}4X-g6qm0- - - 659527 S 0 60 1 f10000879000a140 8410400 - - -51Testing软件测试网{8l.N7Y5C,L
- - - 663625 S 0 60 1 f10000879000a240 8410400 - - -51Testing软件测试网@#ag+WB_
- - - 667723 S 37 78 1 f1000089c020f150 400400 - - -
@!K)z;TA#`0- - - 671821 S 0 60 1 f10000879000a440 8410400 - - -51Testing软件测试网[%vOPZ
- - - 675919 S 0 60 1 - 418400 - - -
4~ _!rkZ `6B0- - - 680017 S 0 60 1 f10000879000a640 8410400 - - -
z n V4Pl4H)xD^n0- - - 684115 S 0 60 1 f10000879000a740 8410400 - - -
{Wl m{0- - - 688213 S 0 60 1 f10000879000a840 8410400 - - -
\_L2}Qu!P:En0- - - 692311 S 0 60 1 f10000879000a940 8410400 - - -51Testing软件测试网z8C O`"i6U/x7U
- - - 696409 S 0 60 1 f10000879000aa40 8410400 - - -51Testing软件测试网+a'A(f[6B&B V%d@nrT6GP
- - - 712801 S 0 60 1 f10000879000ae40 8410400 - - -51Testing软件测试网4b?g Rx+d(s O
- - - 716899 S 0 60 1 f10000879000af40 8410400 - - -51Testing软件测试网Kn7UR@&a}
- - - 721011 S 0 60 1 f10000879000b040 8410400 - - -
(s*E+{ Go5{%X&d0- - - 725095 S 0 60 1 f10000879000b140 8410400 - - -
0rU? J8OQ8f8Gl0- - - 729193 S 0 60 1 f10000879000b240 8410400 - - -51Testing软件测试网&R.{G6w kUd,F I
- - - 733291 S 0 60 1 f10000879000b340 8410400 - - -51Testing软件测试网*{%W)iy z-z*]h1j
- - - 737389 S 0 60 1 f10000879000b440 8410400 - - -
|nLSh_N`+En{V0- - - 741487 S 0 60 1 f10000879000b540 8410400 - - -
,U(soBr6OXDdUK0- - - 745585 S 0 60 1 f10000879000b640 8410400 - - -
#rWu.w0x5O7W-e0- - - 749683 S 0 60 1 f10000879000b740 8410400 - - -51Testing软件测试网/b%EV H'NS|*`5d }
- - - 753781 S 0 60 1 f10000879000b840 8410400 - - -
~-[? v.`0- - - 757879 S 0 60 1 f10000879000b940 8410400 - - -51Testing软件测试网3FzsAo.c
- - - 761977 S 0 60 1 f10000879000ba40 8410400 - - -51Testing软件测试网7H^ m/`{k1D6\q
- - - 766075 S 0 60 1 f10000879000bb40 8410400 - - -
*W.C5E3T+f"Yy0- - - 770173 S 0 60 1 f10000879000bc40 8410400 - - -51Testing软件测试网Qfs XsO[
- - - 774271 Z 0 60 1 - c00007 - - -
DcMy*_`"TJ,x0- - - 778373 S 0 60 1 f10000879000be40 8410400 - - -
9D'Na5P2]o0- - - 782467 S 0 60 1 f10000879000bf40 8410400 - - -
9ELR4j.W U9L}&m0- - - 786565 S 0 60 1 f10000879000c040 8410400 - - -
w0Yn:Tq O7nI0- - - 790663 S 0 60 1 f10000879000c140 8410400 - - -
7|6s|t~^B0- - - 794761 S 0 60 1 f10000879000c240 8410400 - - -51Testing软件测试网Z/} rNr o;dM
- - - 798859 S 0 60 1 f10000879000c340 8410400 - - -51Testing软件测试网c&PIvzp4X
- - - 802957 S 0 60 1 f10000879000c440 8410400 - - -
.| t2?#ukWPV0Y @0- - - 807055 S 0 60 1 f10000879000c540 8410400 - - -51Testing软件测试网Ti G,i z"P
- - - 811153 S 0 60 1 f10000879000c640 8410400 - - -
)Cc1uP0}J;A;L8Y0- - - 815253 S 0 60 1 f10000879000c740 8410400 - - -51Testing软件测试网z$CF]r6b.~P"W W%x
- - - 819357 S 0 60 1 f10000879000c840 8410400 - - -
W!jk_?#S"f7A9r'?)w0- - - 823447 S 0 60 1 f10000879000c940 8410400 - - -51Testing软件测试网;H3po#e,c/OO#rd
- - - 827545 S 0 60 1 f10000879000ca40 8410400 - - -
9a.j#XUM _ f&H+m0- - - 831643 S 0 60 1 f10000879000cb40 8410400 - - -51Testing软件测试网ucVUnp
- - - 835741 S 0 60 1 f10000879000cc40 8410400 - - -51Testing软件测试网6N+L9I~ L hdxe$L I#h
- - - 839839 S 0 60 1 f10000879000cd40 8410400 - - -
BB't:Z|4z$GHD0- - - 843937 S 0 60 1 f10000879000ce40 8410400 - - -51Testing软件测试网7[`S mU Ww7v)P
- - - 848037 S 0 60 1 f10000879000cf40 8410400 - - -51Testing软件测试网Xa4TM _VJ#fI'z
- - - 852135 S 0 60 1 f10000879000d040 8410400 - - -
f N&lyWL2J0- - - 856257 S 0 60 1 f10000879000d140 8410400 - - -
u7}]Rm6Zt6L0- - - 868527 S 0 60 1 f10000879000d440 8410400 - - -51Testing软件测试网9N yJo.S2uZ
- - - 872623 S 0 60 1 f10000879000d540 8410400 - - -51Testing软件测试网 o;EXD'rsJCO/{A
- - - 876725 S 0 60 1 f10000879000d640 8410400 - - -
QDp_s)yD;wv0
z&b Ye ST0通过 kill -3 <WLS_PID> 进行该 WLS_PID 的 Thread Dump51Testing软件测试网s+]%s"K7? o#W ])_C@x
检查 ps -mp <WLS_PID> -o THREAD命令所输出的信息。
~ c+~0mo-h V+x^0注意,TID "667723" 在 CP 列中有一个高值(它达到“37”,而其它 TID 几乎为 0)。
&[R%VamG(T;n&K0运行 dbx -a 250076以连接到 WebLogic Server 进程。51Testing软件测试网fQ3F)U!~&i%K
运行 thread 命令以列出所有本地线程。
|Nnqe4L\2_TE(x0下面只显示相关线程的一个代码片断:51Testing软件测试网?%w.OZU/co

_:?lP:BP0thread state-k wchan state-u k-tid mode held scope function51Testing软件测试网2B/Sz*X4F
.....51Testing软件测试网 fO%j$E1UQ!C
51Testing软件测试网(d{ x/o5K7W8KMc
$t15 wait 0xf10000879000a140 blocked 659527 k no sys _event_sleep
"|uz#M*P0$t16 wait 0xf10000879000a240 blocked 663625 k no sys _event_sleep51Testing软件测试网5h@K&~3w Z6M9C-^
$t17 run running 667723 k no sys JVM_Send
1_.df%a{;lwf\ c0$t18 wait 0xf10000879000a440 blocked 671821 k no sys _event_sleep51Testing软件测试网$ce(r1I N]
$t19 wait running 675919 k no sys poll
&AJLBa,V@E4E0$t20 wait 0xf10000879000a640 blocked 680017 k no sys _event_sleep
l?~P$[0.....
FZPb ~){051Testing软件测试网%Jv#NZ x7E9ls
运行 th info 17 命令以获取关于该本地线程的必要信息:51Testing软件测试网"g:x\v Oq_

Ak:z'z$R-Ab-O/a:?+`Ad0(dbx) th info 1751Testing软件测试网"M5ld,L(kJHbV
thread state-k wchan state-u k-tid mode held scope function51Testing软件测试网] D ZCA7oj
$t17 run running 667723 k no sys JVM_Send
3E)F I0W7`:l7Fn0
s7M"s*V0FKQr-Q0general:
m?@t%O:\c0pthread addr = 0x3ea55c68 size = 0x244
&oD!U7I#L`g6k7i0vp addr = 0x3e69e5e0 size = 0x2a851Testing软件测试网;}cvq8x+P e1L
thread errno = 2
|6@?/WoX0start pc = 0x300408b051Testing软件测试网HPMS5Xi(H?tW
joinable = no
*kbo D{cgOr0pthread_t = 101151Testing软件测试网:wS9iwy'@nK Ji$n;qgQ
scheduler:
4aJ5QK&p0kernel =
4j$J1}F3X Z0user = 1 (other)51Testing软件测试网1M$L#Kb@*`M!V
event :
kz8T [(f'u,HXT4~0event = 0x0
:A2b| I6]0cancel = enabled, deferred, not pending
,T#L.X!dWp0stack storage:
$f\l3y&I0base = 0x3ea15000 size = 0x40000
{.i#kS;d0limit = 0x3ea55c6851Testing软件测试网#Df,uH tu4VXY
sp = 0x3ea5505451Testing软件测试网3Q?O.vr] k,J,dX

z'{}t dr/rA*l0非常重要说明:在 dbx 提示符下运行“detach”以从 WebLogic 进程中分离。
vz4G0QDO0记下上述“pthread_t”的数值,并用来查找 WebLogic Server 进程的 Thread Dump 中的正确线程。
D1Tt.d+Qs!V`0从早期进行的 Thread Dump 中,您可以将十六进制号码“1011”与 Thread Dump 中在“native ID”之后的号码进行匹配。
jF%EH+k0下面是匹配此十六进制号码并造成高 CPU 占用率问题的线程示例:51Testing软件测试网1[ g:J3p"_H
51Testing软件测试网.Y8N2K/r^3c8lD

"ExecuteThread: '11' for queue: 'default'" (TID:0x31cf86d8, sys_thread_t:0x3e5ea108, state:R, native ID:0x1011) prio=5
HP,g^g0at java.net.SocketOutputStream.socketWrite(Native Method)
$aU;p-[hko,[2vI0at java.net.SocketOutputStream.write(SocketOutputStream.java(Compiled Code))51Testing软件测试网)f^h l u0Y6V
at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.java(Compiled Code))
kFMB:~O{vW4n0at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java(Compiled Code))
#[}I1t&MX0at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java(Compiled Code))51Testing软件测试网&vcSrqU
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java(Compiled Code))
8j4V7tL2B6e0at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java(Compiled Code))51Testing软件测试网^-kD5?%X} ?!lq LF
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java(Compiled Code))51Testing软件测试网'C h_f Q ?"O
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java(Compiled Code))
#Ab3t)R:|0at weblogic.servlet.internal.ChunkWriter.write(ChunkWriter.java(Compiled Code))51Testing软件测试网oP%d ?$\ x$X:W
at java.io.Writer.write(Writer.java(Compiled Code))51Testing软件测试网kGYr*r5G{ LL
at java.io.PrintWriter.write(PrintWriter.java(Compiled Code))
dOAa-Mq:W0at java.io.PrintWriter.write(PrintWriter.java(Compiled Code))
3o*f)IM vL%F/n/E0at java.io.PrintWriter.print(PrintWriter.java(Compiled Code))
)de |SHX0at java.io.PrintWriter.println(PrintWriter.java(Compiled Code))51Testing软件测试网eKNtD!b({
at examples.servlets.HelloWorldServlet.service(HelloWorldServlet.java(Compiled Code))51Testing软件测试网,L)fhiR
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)51Testing软件测试网;x'`1z7`S6s7{ lut
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
4yn4jp}Xqu$z0at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)51Testing软件测试网 nAPEFF/P
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
$P^?|f1q"]0at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)51Testing软件测试网zib'f gZrq8Y
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java(Compiled Code))
T4onL/^ ^5S;p B0at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
3B9g.?w9oS7E8F-y0at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)51Testing软件测试网p` v,s.i#@ xy"yB
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))51Testing软件测试网!X/Y)AzfJZi
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)51Testing软件测试网_[&W!eH(X
51Testing软件测试网"va&{9H:PxD'R


Native Stack
sysSend51Testing软件测试网S+N H `*]*h1uXw0J l
JVM_Send51Testing软件测试网w]h|NK{
Java_java_net_SocketOutputStream_socketWrite

TAG: Weblogic

 

评分:0

我来说两句

Open Toolbar