JDK 命令行工具
这些命令在 JDK 安装目录下的 bin 目录下:
- jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数
和 Java 虚拟机参数等信息;
-
jstat( JVM Statistics Monitoring Tool): 用于收集 HotSpot 虚拟机各方面的运行数据;
-
jinfo (Confifiguration Info for Java) : Confifiguration Info forJava,显示虚拟机配置信息;
-
jmap (Memory Map for Java) :生成堆转储快照;
-
jhat (JVM Heap Dump Browser ) : 用于分析 heapdump 文件,它会建立一个 HTTP/HTML 服务
器,让用户可以在浏览器上查看分析结果;
- jstack (Stack Trace for Java):生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机内每一
条线程正在执行的方法堆栈的集合。
jps :查看所有 Java 进程
- jps :显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一 ID
- jps -q :只输出进程的本地虚拟机唯一 ID
- jps -l :输出主类的全名,如果进程执行的是 Jar 包,输出 Jar 路径
- jps -v :输出虚拟机进程启动时 JVM 参数
- jps -m :输出传递给 Java 进程 main() 函数的参数
jstat : 监视虚拟机各种运行状态信息
- jstat -class vmid :显示 ClassLoader 的相关信息;
- jstat -compiler vmid :显示 JIT 编译的相关信息;
- jstat -gc vmid :显示与 GC 相关的堆信息;
- jstat -gccapacity vmid :显示各个代的容量及使用情况;
- jstat -gcnew vmid :显示新生代信息;
- jstat -gcnewcapcacity vmid :显示新生代大小与使用情况;
- jstat -gcold vmid :显示老年代和永久代的信息;
- jstat -gcoldcapacity vmid :显示老年代的大小;
- jstat -gcpermcapacity vmid :显示永久代大小;
- jstat -gcutil vmid :显示垃圾收集信息;
jinfo : 实时地查看和调整虚拟机各项参数
- jinfo vmid :输出当前 jvm 进程的全部参数和系统属性
- jinfo -flag name vmid :输出对应名称的参数的具体值
- jinfo -flag [+|-]name vmid 开启或者关闭对应名称的参数
jmap :生成堆转储快照
jmap 命令用于生成堆转储快照。不使用jamp也可以使用 “-XX:+HeapDumpOnOutOfMemoryError” 参数,可以让虚拟机在 OOM 异常出现之后自动生成 dump 文件,而linux系统则通过kill -3 发送进程退出信息来得到dump文件
jmap的功能与jinfo的功能差不多
生成虚拟机当前时刻的线程快照
jstack 命令用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合