Skip to main content

线上问题排查

David LiuLess than 1 minute

线上问题排查

CPU 过高/爆掉

JVM 调优过程中,如果 CPU 爆掉了,可以通过以下步骤进行排查:

  1. 使用 top 命令查看 CPU 占用率最高的进程,确定是哪个进程导致了 CPU 爆满。

  2. 使用 jstack 命令获取 Java 进程的线程堆栈信息,查看哪些线程正在运行,是否存在死循环、长时间等待等问题。

  3. 使用 jmap 命令获取 Java 进程的内存信息,查看堆内存使用情况、GC 情况等,是否存在内存泄漏等问题。

  4. 使用 jstat 命令获取 Java 进程的 GC 情况,查看 GC 频率、GC 时间等,是否存在频繁的 Full GC 等问题。

  5. 根据以上信息,确定问题所在,进行相应的优化和调整,例如优化代码、调整 JVM 参数、增加硬件资源等。

总的来说,JVM 调优过程中,如果 CPU 爆掉了,需要通过多种手段进行排查,确定问题所在,从而进行相应的优化和调整。

jconsole 可以观察内存变化