JVM调优高频面试题(知乎版)+ 详细答案.docxVIP

  • 13
  • 0
  • 约7.27千字
  • 约 7页
  • 2026-04-21 发布于河北
  • 举报

JVM调优高频面试题(知乎版)+ 详细答案.docx

JVM调优高频面试题(知乎版)+详细答案

1.面试题:实际工作中,你遇到过哪些需要JVM调优的场景?怎么定位问题、解决的?(知乎高频追问,区分理论派和实战派)

详细答案:最常见的就是两种场景——FullGC频繁、OOM内存溢出,还有一种是接口响应慢(隐藏的GC停顿问题)。我举两个自己实际处理过的例子,更直观:

第一个场景:电商项目大促期间,核心下单接口响应时间从50ms飙升到2s+,监控显示每小时FullGC超过15次,甚至有节点出现OOM。

定位步骤:先拿jstat命令(jstat-gcutil进程ID1000)看GC统计,发现老年代占用率一直在90%以上,MinorGC频繁,每次MinorGC后都有大量对象晋升到老年代;然后用jmap导出堆dump文件(jmap-dump:live,format=b,file=heap.hprof进程ID),用MAT工具分析,发现是大量商品缓存对象(约500KB/个)被频繁创建,且缓存过期时间设置过长,导致老年代被占满,触发频繁FullGC。

解决措施:1.调整JVM参数,把堆内存从2G扩到4G(-Xms4g-Xmx4g,避免动态扩容抖动),改用G1收集器(-XX:+UseG1GC),设置最大停顿目标200ms(-XX:MaxGCPauseMillis=200);2.优化缓存逻辑,缩短缓存过期时间,增加缓存淘汰策

文档评论(0)

1亿VIP精品文档

相关文档