zoukankan      html  css  js  c++  java
  • zgc Allocation Stall问题

    情况一、内存空间不足

    对比监控出现性能毛刺时间点的GC日志和业务日志,发现JVM停顿了较长时间,且停顿时GC日志中有大量的“Allocation Stall”日志。

    原因就是堆内存被占满,导致部分线程阻塞,如下图中的 High used已经达到100%

     解决办法:

    1.最直接有效的办法就是增加堆大小

    2.增加jvm参数 -XX:ZAllocationSpikeTolerance。调整正态分布模型预测系数ZAllocationSpikeTolerance默认值为2,值越大,越早的触发GC。优化后设置成5,xmx和xms可以考虑设置成不一样的值

    3.还可以尝试 增加固定gc间隔 -XX:ZCollectionInterval 参数

    情况二、gc初始化空间不足

    背景:一个62G物理机上部署了2个24G的xmx的java进程

    发生Application的时候,前后都没有占到情况一中占用达到100%的情况

    原因:观察gc日志,在初始化阶段发现

     可以看出,jvm的堆初始化的时候,tmpfs -> /dev/shm 下面的可用空间不足(当然和具体的机器有关)。。限制一下其他使用tmpfs地方或者调整一下tmpfs大小

    最后附上一篇zgc调优:https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.html

  • 相关阅读:
    python -- 初始函数 函数的定义,函数的返回值以及函数的参数
    python 文件操作: 文件操作的函数, 模式及常用操作.
    第三节 深入JavaScript
    第二节 JavaScript基础
    第一节 JavaScript概述
    面试大纲
    flask
    面试准备
    数据结构与算法 学习
    Linux学习
  • 原文地址:https://www.cnblogs.com/lizo/p/14270686.html
Copyright © 2011-2022 走看看