美文网首页
jps、jstack、jmap等命令

jps、jstack、jmap等命令

作者: 有章 | 来源:发表于2018-10-17 08:49 被阅读0次

    jps
    查看jvm中进程运行状态信息
    jps [option] [pid]
    option选项:
    -q 不输出类名、jar名和传入main方法的参数
    -m 输出传入main方法的参数
    -l 输出main类或jar的全限名
    -v 输出传入jvm的参数

    jstack
    主要用来查看某个java进程内线程堆栈信息
    jstack -l pid 会打印出额外的锁信息,发生死锁时使用

    jmap
    用来查看堆内存使用情况,一般结合jhat使用
    jmap [option] pid
    option选项:
    permstat: 打印进程的类加载器和类加载器的持久带对象信息,输出:类加载器名称、对象是否存活、对象地址、父亲加载器、已加载类大小等信息
    heap: 查看进程堆内存使用情况,包括使用的gc算法、堆配置参数和各代中堆内存使用情况
    命令:jmap -heap pid
    histo[:live]:查看堆内存中对象树、大小统计直方图,如果带上live则只统计活对象,
    命令:jmap -histo:live pid
    dump内存文件:
    命令:jmap -dump:format=b,file=dumpFileName pid

    jmap+jhat配合查看内存dump文件:

    #: jmap -dump:format=b,file=/tmp/dump.dat 21711
    #: jhat -port 9998 /tmp/dump.dat
    如果dump文件太大,需要指定最大堆内存,即:
    #: jhat -J-Xmx512m -port 9998 /tmp/dump.dat
    然后就可以在浏览器中查看了,即:
    192.168.3.161:9998  (192.168.3.162为主机地址)
    

    jstat命令:

    jstat [generalOption | outputOptions vmid [interval[s| ms] [count]]]
    jstat -gc 21711 250 4
    250:采样间隔 250ms
    4:  采样次数
    

    相关文章

      网友评论

          本文标题:jps、jstack、jmap等命令

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