首页 > 代码库 > JVM性能监控命令

JVM性能监控命令

jps:
    主要用来输出JVM中运行的进程状态信息
    option:
        -q 忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid。
        -m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null。
        -l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。
        -v 输出传给JVM的参数。
        -V 输出通过标记的文件传递给JVM的参数(.hotspotrc文件,或者是通过参数-XX:Flags=<filename>指定的文件)

 

jstat:
    jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
        -gcutil 统计heap的gc情况
        -t 在第一列输出时间戳。该时间戳从jvm启动开始
        -h3 每隔N行输出一次列表头
        $PID 进程号
        interval 输出间隔时间,单位毫秒
        count 输出次数
    Demo:
        jstat -gcutil -t -h5 7919 1000 50

 

jinfo
    观察运行中的java程序的运行环境参数:参数包括Java System属性和JVM命令行参数
    Demo:
        jinfo 14352
        jinfo -sysprops 14352
        jinfo -flags 14352
        jinfo -flag MaxPermSize 14352

 

jmap
    用来查看堆内存使用状况
    Demo:
        jmap -histo $PID 展示class的内存情况
        jmap -heap $PID 展示Java堆详细信息

 

jstack [option] pid
    主要用来查看某个Java进程内的线程堆栈信息
    Option:
        -F: 强制产生一个线程dump
        -m: 打印java和native frames
        -l: 打印关于锁的附加信息
    Demo:
        jstack -F $PID

JVM性能监控命令