JVM 自带命令

作者: 进击的小鹿 | 来源:发表于2017-08-25 15:43 被阅读23次

    jstat

    一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。

     jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
    

    参数解释:

    Options — 选项,我们一般使用 -gcutil 查看gc情况

    vmid — VM的进程号,即当前运行的java进程号

    interval– 间隔时间,单位为秒或者毫秒

    count — 打印次数,如果缺省则打印无数次

    jstat.png

    S0 — Heap上的 Survivor space 0 区已使用空间的百分比
    S1 — Heap上的 Survivor space 1 区已使用空间的百分比
    E — Heap上的 Eden space 区已使用空间的百分比
    O — Heap上的 Old space 区已使用空间的百分比
    P — Perm space 区已使用空间的百分比
    YGC — 从应用程序启动到采样时发生 Young GC 的次数
    YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
    FGC — 从应用程序启动到采样时发生 Full GC 的次数
    FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
    GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

    jstat -class pid:显示加载class的数量,及所占空间等信息。
    jstat -compiler pid:显示VM实时编译的数量等信息。
    jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
    jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
    jstat -gcnew pid:new对象的信息。
    jstat -gcnewcapacity pid:new对象的信息及其占用量。
    jstat -gcold pid:old对象的信息。
    jstat -gcoldcapacity pid:old对象的信息及其占用量。
    jstat -gcpermcapacity pid: perm对象的信息及其占用量。
    jstat -util pid:统计gc信息统计。
    jstat -printcompilation pid:当前VM执行的信息。

    jps

     jps  
    :与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。   
    

    jmap

    :打印出某个java进程(使用pid)内存内的所有‘对象’的情况(如:产生那些对象,及其数量)。   
    

    jconsole

    :一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。  
    

    输入 jconsole 回车 会显示界面:可以选择远程 和本地 的程序 就行显示 ;

    jconsole.png

    远程进程 <hostname>:<prot> 还不需要 用户名和口令

    相关文章

      网友评论

        本文标题:JVM 自带命令

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