jps

可以列出正在运行的虚拟机进程,并显示虚拟机执行的主类名称以及本地虚拟机唯一ID

  1. 命令格式jps [options]
  2. options选项

    选项 说明
    -l 输出主类名称
    -v 输出虚拟机进程启动时JVM参数
    -m 输出虚拟机启动时传递给主类main()函数的参数

    例如jps -l结果:

    clipboard.png

jstat

用于监视虚拟机各种运行状态信息的命令行工具。显示虚拟机进程中的类装载、内存、垃圾收集等运行参数。

  1. 命令格式
    jstat [options] [vmid]
  2. options选项

    -class 监视类装载、卸载数量、总空间以及类装载所消耗的时间
    -gc 监视java堆情况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
    -gcutil 监视内容与gc相同,主要关注已使用空间站总空间百分比
    -gcnew 监视新生代
    -gcold 监视老年代
    -compiler 输出编译器编译的方法、耗时等信息

    示例
    clipboard.png
    GCT,表示gc time,所有gc耗时0.056秒
    FGCT,表示full gc time,表示full gc耗时时间
    FGC,表示full gc次数
    YGCT,表示young gc time消耗时间
    YGC,表示young gc次数
    MU,方法去已使用大小
    MC,方法区内存大小
    OU,老年期已使用大小
    OC,老年区内存大小
    EU,eden区已使用大小
    EC,eden区大小

jmap

用于生成堆转储快照(一般称为heapdump或dump文件),它还可以查询java堆、永久代信息。

  1. 命令格式
    jmap [options] vmid
  2. options选项

    -dump 生成java堆转储快照,-dump:<dump-options>,在<dump-options>中操作有format=b,file=<filename>
    -heap 显示java堆相信信息,比如使用了那种垃圾收集器、参数配置、分带状况等
    -histo 显示堆中对象统计信息,包括类、实例数量、合计容量等
    例如:统计jvm中实例最多的类 jmap -histo 5699 | sort -n -r -k 2 | head -10

    clipboard.png

    jstack

    java堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照(threaddump文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈集合,该文件主要用于定位线程出现长时间的停顿原因,如线程死锁、死循环等问题。

    1. 命令格式
      jstack [options] vmid
    2. options选项
      -l:除堆栈信息外,显示锁的附加信息

一只小小鸟
144 声望25 粉丝

如何做一个深层次的思考者,从简单开始、从记录开始。