通过监控CPU查找程序问题

来源:互联网 发布:网络分物理层 编辑:程序博客网 时间:2024/05/18 01:34

在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
获取的是 PID (进程号)USER(用户) COMMAND(执行进程的程序) 等信息 。
根据PID 查看到占用CPU 最高的 进程
执行 top -Hp pid 获取该进程下各个线程的cpu使用情况
得到的是线程号,线程的CPU 使用率。 把这个高的线程号 转为16进制 比如 0x246c。
同时,用 jstack pid(进程号(不是线程号)) 获取进程的 线程堆栈信息。
然后在jstack 信息中查找 nid=0x246c 的线程在干什么,这样获取线程状态 代码信息。