0

cpu突然飙高,怎么定位

2024.09.11 | cuithink | 835次围观

  • 通过top -p <pid> 显示Java进程的内存情况,pid是Java进程号,比如19663

  • 按H获取该进程下每个线程的内存情况

  • 找到内存和cpu占用最高的线程tid,比如19664

  • 转为16进制得到0x4cd0,此为线程id的十六进制表示

  • 执行jstack 19663|grep -A 10 0x4cd0,得到线程堆栈信息中4cd0这个线程所在行的后面10行,从堆栈中可以发现导致cpu飙高的调用方法

  • 查看对应的堆栈信息中的可能存在问题的代码


粤ICP备16076548号
发表评论