问题:

JVM内部内存正常,但总的RES爆了

结论用参数

HEAP_OPTS: -Xms1024M -Xmx4096M
JAVA_OPTS: -XX:+UseG1GC -XX:MaxHeapFreeRatio=50 -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m
MALLOC_ARENA_MAX: 4

 

第一行:堆内存下限低,上限给到峰值即可

第二行: 换用G1

第三行:减少单个线程64MB块至4个

 

JDK8的RES回收策略(HotSpot):

JVM需要的总内存约等于=堆最小值(按Free比例)+元数据最大值+代码缓存,故必须控制这几个值加起来少于内存总量,稳妥来讲80%算适合(要给线程留内存)

在控制好这几块占总内存比例的情况下,RES回收正常

相关文章:

  • 2022-01-23
  • 2021-04-17
  • 2021-06-13
  • 2021-11-16
猜你喜欢
  • 2021-12-28
  • 2022-12-23
  • 2021-12-08
  • 2021-07-16
  • 2021-11-02
  • 2021-07-09
相关资源
相似解决方案