websphere运行两天,JAVA占CPU将近100%

websphere运行两天,JAVA占CPU将近100%。重启websphere后,运行两天又这样。并且SystemOut.log日志中,报如下错误:

"WebContainer : 2631" (TID:0x724E1970, sys_thread_t:0x3B4CBFA0, state:R, native ID:0x3426) prio=5                                                                                            
    at java.util.HashMap.get(HashMap.java(Compiled Code))                                                                                                                                    
    at com.ibm.ws.util.ClauseTable.get(ClauseTable.java(Compiled Code))                                                                                                                     
    at com.ibm.ws.util.ClauseNode.add(ClauseNode.java(Compiled Code))                                                                                                                        
    at com.ibm.ws.util.URIMatcher.put(URIMatcher.java(Compiled Code))                                                                                                                        
    at com.ibm.ws.util.URIMapper.addMapping(URIMapper.java(Compiled Code))                                                                                                                  
    at com.ibm.ws.webcontainer.webapp.WebApp.addMappingTarget(WebApp.java(Compiled Code))                                                                                                   
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java(Compiled Code))                                                              
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java(Compiled Code))                                                                                                      
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java(Compiled Code))                                                                                                   
    at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java(Compiled Code))                                                                                                   
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))                                                                                                  
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))                                                                                                
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))                                                                        
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))                                                                        
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java(Compiled Code))                                                                                       
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java(Compiled Code))                                               
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java(Compiled Code))                                                           
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))                                                                                    
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))                                                                                          
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))                                                                                          
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))                                                                                         
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))  


使用th info TID,去查看,上面这个线程所占CPU特别特别大。   关于这个问题,打了好多好多IBM技术支持电话。最后他们说可能问题出在IBM的类中,因为上面的错误都是在IBM包中报出来的。

那位高手遇到过这样的问题,我的websphere版本为:WAS6.0.0.1。
欢迎加我的qq,一起研究讨论。QQ:26578777 [ 本帖最后由 26578777 于 2009-11-20 17:44 编辑 ]
参与25

25同行回答

Luga LeeLuga Lee联盟成员系统架构师None
况且,CPU过高也无非就那几种情况产生显示全部
况且,CPU过高也无非就那几种情况产生收起
互联网服务 · 2012-10-19
浏览1729
Luga LeeLuga Lee联盟成员系统架构师None
我感觉主要有以下步骤:1、进行验证时,可以用性工具去监控,例如,Jconsole2、若出现问题,可以借助Jprofiler工具进行分析、定位是哪个实例或者类消耗的3、通过与WAS日志相结合再次确认是什么问题导致CPU过高4、以上方法若解决不了,在考虑其他问题,例如,补丁升级之类...显示全部
我感觉主要有以下步骤:
1、进行验证时,可以用性工具去监控,例如,Jconsole
2、若出现问题,可以借助Jprofiler工具进行分析、定位是哪个实例或者类消耗的
3、通过与WAS日志相结合再次确认是什么问题导致CPU过高
4、以上方法若解决不了,在考虑其他问题,例如,补丁升级之类收起
互联网服务 · 2012-10-19
浏览1736
gbank101gbank101系统工程师GBANK
初来贵地,发现好帖不少呀!都是实战的经验啊,顶了!显示全部
初来贵地,发现好帖不少呀!都是实战的经验啊,顶了!收起
金融其它 · 2012-10-18
浏览1810
华媛1002华媛1002系统工程师电信
好帖子,很有价显示全部
好帖子,很有价收起
互联网服务 · 2012-10-18
浏览1711
guansnowguansnow系统分析师科大讯飞
CPU高,建议监控一下是用sar 看一下详细信息;显示全部
CPU高,建议监控一下是用sar 看一下详细信息;收起
系统集成 · 2012-10-17
浏览1738
bpel4wsbpel4ws联盟成员软件开发工程师新聚思(北京)有限公司
按照IBM的 hang must gather 收集数据,一定可以看出问题的,你现在数据不全,没办法瞎猜WAS6.0,停止服务了,你还能打电话??显示全部
按照IBM的 hang must gather 收集数据,一定可以看出问题的,你现在数据不全,没办法瞎猜

WAS6.0,停止服务了,你还能打电话??收起
政府机关 · 2012-09-29
浏览1753
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司
非常好的贴子显示全部
非常好的贴子收起
互联网服务 · 2012-09-27
浏览1751
ddga9941ddga9941系统工程师besti
学习学习~~~~~~~~~~~~~显示全部
学习学习~~~~~~~~~~~~~收起
教育/培训 · 2012-09-26
浏览1732
theodotheodo网络管理员software
请问aix系统中,如何检测啊!显示全部
请问aix系统中,如何检测啊!收起
金融其它 · 2010-07-25
浏览1797
jlbabojlbabo项目经理重庆新思维信息技术有限公司
这是我以前遇到过的,方法跟上面讲的都差不多。这里写出来,作为参考。CPU 问题如果再出现,请生成 javacore 的同时也按照下面的步骤收集来看 CPU 忙的原因:http://www-01.ibm.com/support/docview.wss?uid=swg21137447CPU资源占用100%的信息收集具体操作步骤:针对在Windows操作...显示全部
这是我以前遇到过的,方法跟上面讲的都差不多。这里写出来,作为参考。
CPU 问题如果再出现,请生成 javacore 的同时也按照下面的步骤收集来看 CPU 忙的原因:
http://www-01.ibm.com/support/docview.wss?uid=swg21137447
CPU资源占用100%的信息收集具体操作步骤:
针对在Windows操作系统上Virtual Machine (JVM™)占用CPU资源接近100%,或者其它高使用率的情况,这里列出了解决问题所涉及的文档。
Windows NT/2000自带有一个性能查看器(Microsoft任务管理器的一部分),借助于这个性能查看器,我们可以判断哪个java进程在占用CPU。

当应用程序服务器进程遇到问题是请收集如下信息:
__1、通过开始菜单,选择“程序->管理工具->性能管理”(你也可以选择“开始菜单->设置->控制面板”,双击“管理工具”,然后双击“性能”来打开性能管理工具)。
__2、性能数据可以搜集到一个log文件,对这个log文件进行分析,然后通过性能管理器返回。在这个性能管理器中,展开性能日志和警报,右键点击计数器日志,选择新建日志设置。
__3、键入一个日志设置名称,然后点击确定。
__4、点击“加入”,以加入到计数器。
__5、在“性能对象”中,往下滚动窗口,选择线程作为当前对象。
__6、点击“从列表选择计数器”(默认),然后选择下面三个计数器:
        Counter = % Processor Time
        Counter = ID Process
        Counter = ID Thread
__7、点击“从列表中选择实例”,然后选择所有Java线程,如下图所示:

__8、点击“添加”加入新的属性,谈后点击“关闭”。
__9、日志记录马上启动,日志文件按钮变成绿色。
__10、一旦性能降低文档收集完成,停止性能管理记录。从性能管理工具中的计数器窗口中右键点击日志名称,然后点击停止。需要发送到IBM的日志文件显示在“日志文件名”那一栏。
__11、对这个java进程生成一个java.dmp,运行下列命令:
        userdump
__12、收集下列文件:
        性能日志
        产生的javacore*.txt文件
        性能降低文档中的其它信息
        位于路径/profiles//logs/下的所有文件

        netstat -an > netstat_before.out

        执行以下命令收集数据
wsadmin.bat [-host host_name] [-port port_number] [-user userid[-password password]

用登陆 WAS 管理控制台的用户/密码,端口在管理控制台-〉服务器-〉WebSphere_Portal -> 端口里找到 SOAP 的端口,例如您这里应该是 10033

wsadmin -host yourhost -port 10033 -user wpsadmin -password wpsadmin

wsadmin> set jvm [$AdminControl completeObjectName type=JVM,process=WebSphere_Portal,*]
然后每隔两分钟执行:
wsadmin>$AdminControl invoke $jvm dumpThreads

看 D:\ibm\WebSphere\profiles\wp_profile 目录下是否生成 javacore 开头的文件。

===================
如果没有请先提前下载好微软的 userdump 工具:
http://support.microsoft.com/?scid=kb%3Ben-us%3B936917&x=10&y=8
出问题时再执行:
userdump portal_pid

        收集完之后请执行:
netstat -an > netstat_after.out


解压PsTools工具到C盘:C;\PsTools,并将startpslist.bat也拷贝到这个目录,这些我都已经放在相应C盘里面了。
当CPU出现高的情况时执行.


1:运行cmd,然后到cd C;\PsTools

2:执行C:\Documents and Settings\Administrator>cd C:\PsTools

   接着执行 C:\PsTools>pslist.exe

3:C:\PsTools>在这里输入命令startpslist.bat java相关的使用率比较大的pid,例如:假如db2syscs.exe  pid为 7604  cpu使用率比较高
   C:\PsTools>startpslist.bat 7604
回车后一小会,在C:\PsTools下面将产生pslistlog.7604文件
2分钟,并按ctrl+C结束
4:按照第3步,继续执行其他与java相关进程的pid收起
IT分销/经销 · 2010-02-24
浏览1790

提问者

26578777
IT北京安宁
擅长领域: 中间件

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2009-11-20
  • 关注会员:0 人
  • 问题浏览:23242
  • 最近回答:2012-10-19
  • X社区推广