开篇:线上故障了,你会怎么排查?
凌晨3点,手机突然响了。值班群里弹出一条消息:"生产环境告警,服务A频繁FullGC,接口响应超时!"
你揉了揉眼睛,打开电脑,ssh连上机器。接下来你会做什么?是先看日志?还是先看GC?又或者直接dump堆内存?
如果你对这个场景感到心里没底,那这篇文章就是为你准备的。我们会从JVM核心参数讲起,逐步深入到排查工具、OOM实战、FullGC排查流程,最后聊聊JIT编译优化。学完之后,下次再被叫醒,你至少知道该打出哪几行命令。
一、JVM 核心参数
调JVM就像调一台发动机——参数设错了,轻则性能低下,重则直接宕机。我们先把最常用的几组参数理清楚。
大约 17 分钟