###Linux环境
top查到25812进程的CPU高
根据进程的PID找到 该进程中CPU使用率最高的线程号 26001 使用了72%
ps -mp 25812 -o THREAD,tid,time |sort -n -k 2 按线程使用cpu排序 或
ps -mp 25812 -o THREAD,tid,time |awk ‘/root/ && $2>50 {print $0}’ 输出大于50的线程
转为16进制
执行 kill -3 15812 生成进程当前线程信息--javacore
通过cat javacore |grep 0x6591 -C10 查看线程具体内容
###AIX
topas
ps -mp 4194678 -o THREAD,tid,time |awk '$6 > 30 {print $0}' >> text3
第一列加了16进制之后
text3:
10F037F - - - 17761151 R 43 110 0 - 400000 - - - 17761151 -
11A0107 - - - 18481415 R 37 106 0 - 400000 - - - 18481415 -
1740211 - - - 24379921 R 41 109 0 - 400000 - - - 24379921 -
2200091 - - - 35651729 R 38 107 0 - 400000 - - - 35651729 -
2240133 - - - 35914035 R 39 108 0 - 400000 - - - 35914035 -
USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND
10F037F 使用了43%
###win
生成javacore
jstack -l -r -pid
jsp文件 IBMJDK
com.ibm.jvm.Dump.JavaDump();
%>
放到nchome/hotwebs/nc_web/ 访问27.0.0.1:9081/javacore.jsp 即可
使用processexplorer 查到 TID 转为16进制 在javacore中查找堆栈 如下连接下载
各OS CPU使用率高分析
http://www.blogjava.net/jesson2005/articles/416278.html?opt=admin