← 学习中心

JVM:调优参数与排查工具

常用 GC 与堆参数,jps/jstat/jmap/jstack 排查套路,OOM 与 CPU 飙高的定位。

本节你将能

说出关键 JVM 参数,并给出 OOM / 死循环 / 卡顿的标准排查流程。

核心要点

  • 关键参数:-Xms/-Xmx 堆、 -Xmn 新生代、-XX:SurvivorRatio、-XX:+UseG1GC。
  • GC 选择:G1(平衡,JDK9+ 默认)、ZGC/Shenandoah(低延迟大堆)。
  • jps 看进程;jstat -gc 看 GC 统计;jmap -dump 抓堆;jstack 抓线程栈。
  • OOM:MAT 分析堆转储找大对象/泄漏;CPU 高用 top -Hp + jstack 定位忙线程。
  • 调优思路:先定目标(吞吐/延迟),再压测,看 GC 日志,避免过早与过度调优。

面试连招

常被追问:怎么排查内存泄漏?GC 日志怎么看?为什么 Full GC 频繁?

常见坑

堆设得过大导致 GC 停顿久;用 jmap -histo 误杀生产;无 GC 日志无法复盘。

JVM:调优参数与排查工具 - 生命科学与前沿科技学习平台 | 必学必会