1. 机器的配置,内存多少G
  2. jvm 参数设置: 堆大小,年轻代、老年代比例 等 收集器用的是什么 => 知道什么内存水位和时机会发生 minor gc 和 full gc
  3. 观察 gc 概况: minor gc 的频率和耗时, full gc的频率和耗时 重点关注 stw 和 fullgc
  4. 再细看 gc 情况
    a. 每次minor gc发生前后年轻代内存的变化,survivor区存活对象有多少
    b. 有没有对象晋升到老年代, 有的话 晋升的原因是什么? 满16周岁了? 动态年龄判断 超过survivor 50%了? 还是存活对象太多导致 survivor 直接放不下了?
    c. 是否有大对象 直接进入老年代
    minor gc 前,老年代空闲空间是否足够?会不会因为 分配担保 导致提前 full gc

相关文章:

  • 2022-12-23
  • 2021-10-27
  • 2022-02-12
  • 2021-10-29
  • 2021-07-24
  • 2022-01-11
  • 2022-12-23
猜你喜欢
  • 2021-11-17
  • 2021-08-05
  • 2021-09-22
  • 2021-12-25
  • 2021-09-10
  • 2021-12-17
  • 2021-09-12
相关资源
相似解决方案