`
totti19841106
  • 浏览: 76277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

solaris10/weblogic9测试weblogic进程占用 CPU高

阅读更多



部署一个造成CPU高的应用后进行如下操作:

-bash-3.00# prstat -L -p 550 1 1
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/LWPID     
   550 root      568M  382M run     10    0   0:01:19  97% java/14  
   550 root      568M  382M sleep   59    0   0:00:11 0.1% java/2
   550 root      568M  382M sleep   59    0   0:00:02 0.0% java/8
   550 root      568M  382M sleep   59    0   0:00:03 0.0% java/20
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/13
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/22
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/10
   550 root      568M  382M sleep   59    0   0:00:02 0.0% java/6
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/33
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/32
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/31
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/30
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/28
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/29
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/26
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/25
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/24
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/23
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/21
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/19
   550 root      568M  382M sleep   59    0   0:00:09 0.0% java/18
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/17
   550 root      568M  382M sleep   59    0   0:00:11 0.0% java/16
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/15
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/12
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/11
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/9
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/7
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/5
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/4
   550 root      568M  382M sleep   59    0   0:00:00 0.0% java/3
   550 root      568M  382M sleep   59    0   0:00:04 0.0% java/1

可以看到LWPID为14的线程占用CPU特高


-bash-3.00# pstack 550
550: /usr/jdk/instances/jdk1.5.0/bin/java -client -Xms256M -Xmx256M -Xverif
-----------------  lwp# 1 / thread# 1  --------------------
d2afaaf5 lwp_cond_wait (8075810, 80757f8, 0, 0)
d26b7bfc __1cCosHSolarisFEventEpark6M_v_ (80757d0) + 4c
d26b72a6 __1cNObjectMonitorEwait6MxipnGThread__v_ (812618c, 0, 0, 1, 8074c10) + 346
d26b6c20 __1cSObjectSynchronizerEwait6FnGHandle_xpnGThread__v_ (80751b0, 0, 0, 8074c10) + 70
d26b6974 JVM_MonitorWait (8074cd0, 8046220, 0, 0, 80461ec, aa200298) + 234
cd00806d * java/lang/Object.wait(J)V+0
cd002b3b * java/lang/Object.wait()V+2 (line 474)
cd002b3b * weblogic/t3/srvr/T3Srvr.waitForDeath()V+46 (line 730)
cd002b3b * weblogic/t3/srvr/T3Srvr.run([Ljava/lang/String;)I+120 (line 380)
cd002a8f * weblogic/Server.main([Ljava/lang/String;)V+43 (line 67)
cd000214 * StubRoutines (1)
d26a8d97 __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (80464d0, 80463d8, 8046408, 8074c10, 80463cc, d26a8be8) + 187
d26a8c04 __1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_ (d26a8c10, 80464d0, 80463d8, 8046408, 8074c10) + 14
d26a8be8 __1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (80464d0, 80751a4, 8046408, 8074c10) + 28
d26b9f40 __1cRjni_invoke_static6FpnHJNIEnv__pnJJavaValue_pnI_jobject_nLJNICallType_pnK_jmethodID_pnSJNI_ArgumentPusher_pnGThread__v_ (8074cd0, 80464d0, 0, 0, 8072049, 80464dc) + 180
d271d52c jni_CallStaticVoidMethod (8074cd0, 8075704, 8072049, 8075714) + 14c
08051e87 main     (0, 806fba8, 8046de4) + af4
080512fa ???????? (13, 8046f38, 8046f5d, 8046f65, 8046f6e, 8046f77) + 80512fa

……………………………………………………

-----------------  lwp# 14 / thread# 14  --------------------
d2387a2f ???????? (53a4da98, bfd4bec3) + 2599
d2385496 ???????? (54442d18, 400921fb) + 5450
d2380046 Java_java_lang_StrictMath_exp (841d718, c5e1a824, 54442d18, 400921fb, c5e1a828, 6eb09339) + 26
cd7a3403 * *java/lang/StrictMath.exp(D)D+0
cd7a362b * *java/lang/Math.exp(D)D+1 (line 237)
cd7a362b * *tdy218/alg/DeadLoop.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3 (line 17)
cd071c80 * tdy218/alg/DeadLoop.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+0
cd002b3b * javax/servlet/http/HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30 (line 856)
cd715ac6 * *weblogic/servlet/internal/StubSecurityHelper$ServletServiceAction.run()Ljava/lang/Object;+43 (line 227)
cd716ad8 * *weblogic/servlet/internal/StubSecurityHelper.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/http/HttpServletRequest;Lweblogic/servlet/internal/ServletRequestImpl;Ljavax/servlet/ServletResponse;Ljavax/servlet/http/HttpServletResponse;Ljavax/ser+110 (line 125)
cd71a7ae * *weblogic/servlet/internal/ServletStubImpl.execute(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V+295 (line 283)
cd72be8e * *weblogic/servlet/internal/ServletStubImpl.execute(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+4 (line 175)
cd06bd80 * alignment_frame_return Runtime1 stub
cd002b3b * weblogic/servlet/internal/WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;+164 (line 3244)
cd760cc8 * *weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;+34 (line 321)
cd06bd80 * alignment_frame_return Runtime1 stub
cd002a64 * weblogic/security/service/SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;+18 (line 121)
cd002a64 * weblogic/servlet/internal/WebAppServletContext.securedExecute(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V+277 (line 2010)
cd002b3b * weblogic/servlet/internal/WebAppServletContext.execute(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V+270 (line 1916)
cd002b3b * weblogic/servlet/internal/ServletRequestImpl.run()V+215 (line 1366)
cd6bacce * *weblogic/work/ExecuteThread.execute(Ljava/lang/Runnable;)V+29 (line 209)
cd06bd80 * alignment_frame_return Runtime1 stub
cd002b3b * weblogic/work/ExecuteThread.run()V+42 (line 181)
cd000214 * StubRoutines (1)
d26a8d97 __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (c5e1ae58, c5e1ad50, c5e1adb4, 841d658, c5e1ad44, d26a8be8) + 187
d26a8c04 __1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_ (d26a8c10, c5e1ae58, c5e1ad50, c5e1adb4, 841d658) + 14
d26a8be8 __1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (c5e1ae58, 83529c0, c5e1adb4, 841d658) + 28
d26b664e __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ (c5e1ae58, 83529b4, d29eb47c, d29eb550, c5e1adb4, 841d658) + be
d26b657d __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ (c5e1ae58, 83529b0, 83529b4, d29eb47c, d29eb550, 841d658) + 6d
d26b64f0 __1cMthread_entry6FpnKJavaThread_pnGThread__v_ (841d658, 841d658) + d0
d26b63f1 __1cKJavaThreadRthread_main_inner6M_v_ (841d658) + 51
d26b6395 __1cKJavaThreadDrun6M_v_ (841d658) + 105
d28d0552 __1cG_start6Fpv_0_ (841d658) + d2
d2af7055 _thr_setup (cfa86200) + 4e
d2af7340 _lwp_start (cfa86200, 0, 0, c5e1aff8, d2af7340, cfa86200)


可以看到LWP为14的在进行DeadLoop.service操作

做下thread dump
把14转化为16进制,找到对应的nid

如下:
"[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x0841d658 nid=0xe runnable [0xc5e1a000..0xc5e1acb8]
        at java.lang.StrictMath.exp(Native Method)
        at java.lang.Math.exp(Math.java:237)
        at tdy218.alg.DeadLoop.service(DeadLoop.java:17)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3244)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

再次验证是在进行DeadLoop.service操作

另外,从server日志里也能看到:

####<Feb 24, 2010 11:01:31 AM EST> <Error> <WebLogicServer> <solaris10> <AdminServer> <[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1267027291184> <BEA-000337> <[STUCK] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "655" seconds working on the request "Http Request: /DeadLoop.jspx", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
java.lang.StrictMath.exp(Native Method)
java.lang.Math.exp(Math.java:237)
tdy218.alg.DeadLoop.service(DeadLoop.java:17)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3244)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>


  • 大小: 44.5 KB
  • 大小: 72 KB
分享到:
评论

相关推荐

    基于Solaris10 安装Weblogic并配置Cluster过程

    在Solaris 10上配置WebLogic集群能够实现高可用性和负载均衡,提高应用系统的性能和可靠性。 首先,我们需要准备以下资源: 1. Solaris 10操作系统:确保系统已经安装并更新到最新版本。 2. WebLogic Server软件:...

    weblogic内存占用过大调优

    - 通过`top`可以查看各个进程的CPU和内存占用情况,以便定位到具体是哪个进程导致内存占用过高。 - `vmstat`命令可以帮助我们了解系统的整体性能状况,包括CPU利用率、内存交换情况等。 - 监控系统交换空间(swap...

    weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启

    #功能:weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启 #参数:进程唯一标识码,例如“weblogic” #依赖脚本:数据库操作脚本dbExecurteSQL.sh,weblogic重启脚本$PSSC_DOMAIN/startPssc.sh...

    weblogic在linux下的安装

    - 使用`cd /oracle/weblogic/user_projects/domains/weblogic10mss`命令进入新创建的Domain目录。 2. **启动WebLogic服务器**: - 执行`./startWebLogic.sh`命令来启动WebLogic服务器。 - 启动时将设置Java内存...

    在Solaris下安装部署Weblogic

    在 Solaris 操作系统上安装和配置 Weblogic 11g 是一项重要的任务,尤其对于那些需要在企业环境中运行 Java 应用程序的系统管理员。Weblogic 是一款由甲骨文公司提供的应用服务器,用于托管 Java EE 应用程序。下面...

    Centos7下纯命令方式安装Weblogic12c.docx

    java -jar /home/weblogic/weblogic12c/fmw_12.2.1.4.0_wls.jar -silent -responseFile /home/weblogic/weblogic12c/wls.rsp -invPtrLoc /home/weblogic/weblogic12c/oraInventory/ oraInst.loc ``` 安装完成后,...

    weblogic部署测试war包

    【标题】:“WebLogic部署测试WAR包” 在Java企业级应用开发中,Web服务器和应用服务器扮演着至关重要的角色。WebLogic是Oracle公司提供的一款强大、功能丰富的Java EE应用服务器,而WAR(Web ARchive)文件则是一...

    jdk、weblogic安装配置

    `mv /opt/weblogic/jdk-8u151-linux-x64 /opt/weblogic/jdk1.8.0_151` 4. JDK的配置 JDK的配置主要涉及到环境变量的设置。 4.1 环境变量的设置 需要将JDK的安装目录添加到系统的环境变量中: `export JAVA_HOME...

    weblogic10_for_linux安装文档

    cd /oracle/weblogic/user_projects/domains/weblogic10mss ./startWebLogic.sh ``` 安装完成后,WebLogic Server将在默认配置下运行,你可以通过WebLogic管理控制台或者命令行工具对其进行管理和监控。为了保证...

    WebLogic创建根上下文

    它支持Java EE标准,并提供了高性能、高可用性和可伸缩性的特性。在开发或部署Java Web应用程序时,WebLogic Server经常被用作首选的应用服务器之一。 #### 二、WebLogic XML配置文件概述 在Web应用程序中,`...

    Weblogic10.3.6 for AIX安装手册

    nohup /weblogic/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh -Dfile.encoding=UTF-8 &gt;&gt; /weblogic/Oracle/Middleware/logs/weblogic.log 2&gt;&1 & ``` **2. 停止脚本 (`stop.sh`)** ```...

    weblogic2017年10月份补丁(10.3.6.0.171017)

    ./bsu.sh -install -patch_download_dir=/home/weblogic/Oracle/Middleware/utils/bsu/cache_dir -patchlist=FMJJ -prod_dir=/home/weblogic/Oracle/Middleware/wlserver_10.3 -verbose 注意:如果打过以前补丁的,...

    Weblogic9 忘记密码解决方案

    java -cp bea9\weblogic91\server\lib\weblogic.jar weblogic.security.utils.AdminAccount weblogic weblogic . \] 运行该命令后,将在当前目录下生成一个名为`DefaultAuthenticatorInit.ldift`的新文件。 ###...

    weblogic傻瓜式安装教程

    scp jdk-8u141-linux-x64.tar.gz 192.168.15.158:/app/weblogic/ scp fmw_12.2.1.1.0_wls.jar 192.168.15.158:/app/weblogic/ ``` 如果JDK是以文件夹形式存在,可以使用`scp -r`命令递归复制整个目录。 ##### ...

    weblogic安装.docx

    - `java -jar /home/weblogic/fmw_12.2.1.3.0_wls_Disk1_1of1/installer.jar -silent -responseFile /home/weblogic/wls.rsp` 9. 安装完成后,配置WebLogic Server。这可能包括创建域、配置服务器、设置数据源等。...

    weblogic9 linux 安装手册

    WebLogic Server 9 是一款由 Oracle 公司提供的企业级应用服务器,用于部署和管理Java应用程序,特别是基于Java EE(Enterprise Edition)的应用。在Linux环境下安装WebLogic Server 9需要遵循一系列步骤,以下是对...

    Linux下新建Weblogic Domain域详图文详解

    要检查WebLogic服务状态,可以使用`ps -ef | grep weblogic`命令,若需停止服务,可以找到其进程ID(SID),然后使用`kill -9 (SID)`命令。要检查特定端口是否被占用,可以使用`netstat -anp | grep portno`命令。 ...

    CentOS 6.3安装配置Weblogic 10

    按照屏幕提示,接受许可协议,选择BEA主目录(这里是`/usr/local/weblogic/`),然后选择安装类型和产品目录。最后,创建一个新的WebLogic域。 安装完成后,需要使用WebLogic用户登录系统,执行以下命令: ```bash...

Global site tag (gtag.js) - Google Analytics