zoukankan      html  css  js  c++  java
  • JVM问题定位分析(一)

    最近的测试过程中,我负责的测试模块被其他同事投诉,说我负责的模块经常挂掉。于是我就开始寻找问题的旅程。

    1、首先  我开始查找我负责的模块的日志并没有明显异常。那么我的服务为什么会被kill 掉呢??

        执行命令:

    dmesg -T |grep -i kill

     

    2、分析原因 是内存溢出导致的,那么到底是不是我的服务引起的还没有准确地定位到。接下来我需要看一下gc日志。

    名词解释:

    GC:

    表明进行了一次垃圾回收,前面没有Full修饰,表明这是一次Minor GC ,注意它不表示只GC新生代,并且现有的不管是新生代还是老年代都会STW(Stop-The-World)。

    Allocation Failure:

    YGC 时间过长

    Times:real>>user+sys  因此导致失败

    ParNew:

        表明本次GC发生在年轻代并且使用的是ParNew垃圾收集器。ParNew是一个Serial收集器的多线程版本,会使用多个CPU和线程完成垃圾收集工作(默认使用的线程数和CPU数相同,可以使用-XX:ParallelGCThreads参数限制)。该收集器采用复制算法回收内存,期间会停止其他工作线程,即Stop The World。

    668904K->36553K(670720K):单位是KB

    三个参数分别为:GC前该内存区域(这里是年轻代)使用容量,GC后该内存区域使用容量,该内存区域总容量。

    1.8041769 -0.8094076 secs :  该内存区域GC耗时,单位是秒

    803975K->171624K(1526784K):三个参数分别为:堆区垃圾回收前的大小,堆区垃圾回收后的大小,堆区总大小。

    0.8094076 secs:该内存区域GC耗时,单位是秒。

    [Times: user=0.06 sys=0.00, real=0.81 secs]:分别表示用户态耗时,内核态耗时和总耗时

  • 相关阅读:
    SpringCloud-sleuth-zipkin链路追踪
    关于encodeURI() 踩的坑
    兄弟ifream的方法调用
    jq为什么能用$操作
    js获取一周的日期范围
    layui中实现上传图片压缩
    input预览上传图片
    js获取地址栏参数
    计算两天之间的天数差
    文字始终均匀分布整个div
  • 原文地址:https://www.cnblogs.com/emars/p/12308457.html
Copyright © 2011-2022 走看看