查看占 CPU 或内存过高的代码
先使用
top
获取进程相关信息。(输入大写 ==P== 按 CPU 使用率排序; 输入 ==M==, 按内存使用率排序)根据 进程 号,获取 线程 号
top -Hp PID
列出进程下所有线程, 如:top -Hp 27625
,(P、M 可以排序)将线程号转 16 进制:
printf "%x\n" number
,记住转换后的数字, 如:printf "%x\n" 27640
生成线程内容到文件:
jstack -l pid > 1.txt
。(pid 为进程号, 而不是线程号, 这里就是上面的 27625)去文本里找刚刚转换后的数字(6bf8),即可获取到相关代码。