知识体系图谱

JVM 问题知识图谱

紧急处理原则

出现问题应该第一时间恢复,恢复过程中如果有余地则要保留问题现场供后面排查定位问题,其基本步骤是:

  • 打印堆栈信息
  • 打印内存镜像
  • 生成core文件
  • 保留gc日志文件
  • 保留业务日志文件
  • 查看JAVA堆内存运行分配

如果有余地,可以做完以上的操作后再重启应用。

实例

实例一

1 查看 gc 日志,评估代际问题。
2 查看访问日志,看看应用吞吐量。
3 用 jstat 查看代际问题。
4 把内存 dump 出来,分析数量最多的对象。
5 分析代码。
6 改善代码。

实例二

1 统计线程总数:ps -eLf | grep java -c
2 看 ulimit -u
3 jstack、gcore
4 改善 jvm 参数