当前位置: 首页 > full gc
  • 在分析OOM问题时,一方面是依赖OOM时dump出来的文件,但这个文件其实只会在Java进程中第一次出现OOM时生成,之后再OOM就不会生成了,这有可能出现真实的OOM的原因被假的OOM原因给掩盖掉;另一方面是依赖在出现OOM时的人工操作,这种人肉方式其实比较杯具。先等到频繁Full GC、OOM,首先通过jmap –histo来看看到底什么对象占用了大部分的内存(需要多执行几次,以确保正确性),原生的类型,那就只能借助dump文件来分析了,通过jmap –dump手工dump出Heap文件。

    阅读全文
    Java 1,196 人阅读 抢沙发 , , , , ,
  • 某应用GC频繁的问题原因:由于平均晋升的大小一直 > 旧生代的剩余空间(因为每次FGC后旧生代都只有300多M是空余的,这个在这个应用中是正常的),导致每次YGC的时候悲观策略一直触发,于是看到的就是频繁Full GC了。从这个Case来看,对于需要Cache比较多内容的场景而言(尤其是启动时既要加载的),还是要给old留有一定的空间,否则悲观策略就要发威了.

    阅读全文
    Java 589 人阅读 抢沙发 , , , , , , , ,
  • 这个应用是期待在内存不够的情况下快速抛出OOM的,但在执行中却发现执行了4个多小时的Full GC,就是没有抛OOM,导致应用出现了问题,从GC代码来看,目前要比较快的触发OOM,只能是调整GCTimeLimit和GCHeapFreeLimit,不过都不好调,后来暂时是靠调整了GCHeapFreeLimit来帮助快速抛出OOM。

    阅读全文
    Java 563 人阅读 抢沙发 , , , ,