at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
[10-11-27 9:15:46:594 GMT+08:00] 000000a5 WebApp E SRVE0026E: [Servlet 错误]-[Stores Request Servlet]:java.lang.NoClassDefFoundError: com/ibm/commerce/likeminds/filter/LikeMindsFilter
Answer:
login:https://192.168.1.1:9043/admin
restart The WCS Cluster Exception Instance, OK
AIX 调出主进程号pid及相关子进程号pid
#ps -mp 5046778 -o THREAD
#Kill -3 5046778
对几台服务器用ps -mp ******(进程号) -o THREAD >thread.txt ;kill -3 ******(进程号) 而后,在thread.txt中找到CP最高的若干进程号,转换为十六进制后,在生成的javacore中找到对应的进程的消息。
WebSphere Java应用CPU 异常问题定位
// 通过 WebSphere JA 进程查线程号
[root@testServer ~]# ps -ef | grep java
// 得到JA PID数字,替换下方PID
[root@testServer ~]# top -H -p PID -b -n1> dump_high_cpu.txt
// 在这个txt文件可以看到占比比较高的线程号,将这个线程号转成16位的
[root@testServer ~]# kill -3 PID
// 这个目录下会生成一个javacore文件
[root@testServer ~]# cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01
[root@testServer ~]# ls -l *.txt
-rw-r--r-- 1 wasadmin wasadmin 3807148 Jun 20 14:52 javacore.20120620.145244.1509.0002.txt
// 然后利用占比较高的十进制线程号转换之后的十六进制数在javacore.20120620.145244.1509.0002.txt文件中找这个线程及定位相关操作实现的代码类
用JStack和Top分析Java进程CPU占用率
在知道哪个Java进程CPU占用率过高以后:
1.使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈,例如jstack 12012 > 12012.txt
2.使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高. 比如:

可以看到,线程号为12025的线程占用cpu很高,接下来就可以在12012.txt中查找该线程,看它为啥这么忙了
或者也可以采用ps命令
ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid 来查看繁忙的线程信息

这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,线程号为tid列。
3.在jstack dump出来的文件中查找目录线程,需要注意的是用16进程数来表示线程号,所以我们可以找12025对应的16进程数2EF9
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-30599-30.html
成了该地区的主要威胁