查看当前进程下线程的CPU消耗日志
获取运行程序的进程
ps aux|grep ‘运行程序名称’ 获取进程号
列出了由进程号为的进程创建的所有线程。“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。
ps -T -p pid进程号
让top输出某个特定进程并检查该进程内运行的线程状况
top -H -p
通过使用jps 命令获取需要监控的进程的pid,然后使用jstack pid 命令查看线程的堆栈信息。 通过jstack 命令可以获取当前进程的所有线程信息。
每个线程堆中信息中,都可以查看到线程ID、线程的状态(wait、sleep、running 等状态)、是否持有锁信息等。
jstack -l >jvm_listlocks.txt
jstack pid |grep tid -A 30 查看该线程堆栈信息
ps: pid 是进程ID tid 是线程ID -A 30 表示显示最后30行
1、查看java进程
ps -ef|grep java
得到pid
或者 jps -l 可以查看到进程id
2、top -Hp [pid] 或者 ps -mp [pid] -o THREAD, tid, time 查看最耗时的 TID即线程id
prinrf “%x\n” [tid] 转成16进制
3、查看java中的线程类相关信息
jstack [pid] | grep [tid]
jstack -l [pid] 列出所有线程信息。