您的位置:首页 > 编程语言 > Java开发

JDK的一些命令行工具

2016-01-13 22:55 316 查看
jps:虚拟机进程状况工具

jps(JVM Process Status Tool)可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数躲在的类)的名称,以及这些进程的本地虚拟机的唯一ID(LVMID Local Virtual Machine Identifier)。对于本地虚拟机进程来说,LVMID与操作系统的进程ID(PID Process Identifier)是一致的。

jstat:虚拟机统计信息监视工具

jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾回收、JIT编译等运行数据。

jinfo:Java配置信息工具

jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机的各项参数。使用jps命令的
-v
参数可以查看虚拟机启动时显式指定的参数列表,如果想知道未被显式指定的参数的系统默认值,可以使用jinfo的
-flag
选项进行查询。jinfo还可以使用
-sysprops
选项把虚拟机的System.getProperties()的内容打印出来。

jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdumphuodump文件)。如果不是用jmap命令,还可以使用
-XX:+HeapDumpOnOutOfMemoryError
参数,可以让虚拟机在OOM异常出现之后自动生成dump文件,通过
-XX:+HeapDumpOnCtrlBreak
参数则可以使用【Ctrl】+【Break】键让虚拟机生成dump文件,又或者在linux系统下通过kill -3命令发送进程退出信号给虚拟机,也能拿到dump文件。jmap还可以查询finalize执行队列,java堆和永久代的的详细信息,如空间使用率,当前用的是哪种收集器等

jstack:Java堆栈跟踪工具

jstack(Stack Trace for Java)命令用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待都是导致线程长时间挺度的常见原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息