JDK命令行

3/8/2017来源:ASP.NET技巧人气:3429

jps

列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID (Local Virtual Machine Identifier,LVMID)

命令格式 jps -option -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类main()函数的参数 -l 输出主类的全名, 如果进程执行的是Jar包,输出Jar路径 -v 输出虚拟机进程启动时JVM参数

jstat

用于监视虚拟机各种运行状态信息的命令行工具.显示本地或者远程虚拟机进程中的类装载,内存,垃圾收集JIT编译等运行数据

命令格式 jstat -option VMID [interval] [count] -class 监视类装载,卸载数量,总区间及类装载所耗费的时间 -gc 监视java堆状况, 包括Eden,两个survivor,老年代,永久代等的容量 -gccapacity 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用的最大,最小空间 -gcutil 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比 -gccause 监视-gcutl功能一样,但是会额外输出导致上一次GC产生的原因 -gcnew 监视新生带GC状况 -gcold 监视老年代GC状况 -compiler 输出JIT编译器编译过的方法,耗时等信息

jinfo

实时地查看和调整虚拟机各项参数

命令格式 jinfo -option VMID jinfo -flag CMSInitiatingOccupancyFraction 1444

jmap

获取dump文件,finalize执行队列,java堆和永久代详细信息 如空间使用率和使用哪种收集器

命令格式 jmap -option VMID -dump 生成Java堆转储快照 -fanalizerinfo 显示在F-Qucue中等待Finalizer线程执行finalize方法的对象 -heap 显示Java堆详细信息,如使用哪种回收器,参数配置,分代状况 -histo 显示堆中对象统计信息,包括类,实例数量,合计容量 -permstat 以ClassLoader为统计口径显示永久代内存状态

jhat

与jmap搭配使用 来分析jmap生成的堆转储快照

jstack

用于生成虚拟机当前时刻的线索快照

命令格式 jstack -option VMID -F 当正常输出的请求不被响应时,强制输出线程堆栈 -l 除堆栈外,显示关于锁的附加信息 -m 如果调用到本地方法的话 可以线索C/C++的堆栈