美文网首页
jvm问题跟踪

jvm问题跟踪

作者: 吃花生的小猴子 | 来源:发表于2017-12-13 17:38 被阅读0次
    • 查看系统日志,是否有exception 发生
      top 命令查看当前系统状态


      image.png

    如果某个进程占大量cpu或内存MEM,获取对应的进程号(pid)或者通过jps获得对应应用的进程号,例如: pid = 18541,再通过进程号拿到进程对应的线程情况
    ps -mp 18541 -o THREAD,tid,time

    image.png

    或者
    top -Hp 18541

    image.png

    比如拿到可疑的线程号 18616,将其转换为16进制

    printf "%x\n" 18616
    

    48b8
    然后使用jstack 查看对应的线程信息
    jstack 18541 | grep 48b8

    image.png
    • 查看系统gc情况
      jstat -gcutil 11977 3000
      查看进程号为11977的应用gc情况,隔3秒打印
      image.png

    s0,s1为年轻代的两个survivor 空间占比
    e 为年轻代的Eden空间占比
    o 为old 老年代空间占比
    m 为metaspace空间
    ccs ??
    YGC 年轻化gc次数
    YGCT 年轻代gc耗时
    FGC Full GC 次数
    FGCT FullGC 耗时
    GCT 总的GC耗时

    如果FullGC频繁,可以用jmap dump系统内存快照
    jmap -dump:format=b,file=heapdump 11977

    或者
    jmap -histo 11977 > jmap.log
    dump 下来的信息可以用jhat 或者 jvisualvm 或者mat上查看

    相关文章

      网友评论

          本文标题:jvm问题跟踪

          本文链接:https://www.haomeiwen.com/subject/oqkzixtx.html