Jps、Jstat、Jmap、Jstack、Jinfo命令

jps [options] [hostid]

jsp主要用来输出JVM中运行的进程状态信息。不指定hostid,默认当前主机。

-q 不输出类名、Jar名和传入main方法的参数

-m 输出传入main方法的参数

-l 输出main类或Jar的全限名

-v 输出传入JVM的参数

 

jstat [generalOption | outputOptions vmid [interval[s|ms] [count]]]

JVM统计监测工具,可以用于观察Java应用程序运行时信息的工具,它的功能非常强大,可以通过它查看堆信息的详细情况。

-class 显示加载class的数量及所占空间等信息。

-compiler 显示VM实时编译的数量等信息

-gc 可以显示gc的信息,查看gc的次数,及时间

-gccapacity 可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小

-gccause 最近一次GC统计和原因

-gcnew 年轻代对象的信息

-gcnewcapacity 年轻代对象的信息及其占用量

-gcold old代对象的信息

-gcoldcapacity old代对象的信息及其占用量

-gcpermcapacity perm对象的信息及其占用量

-gcutil 统计gc信息

-printcompilation HotSpot 当前VM执行的信息

 

 

jmap [option] pid

jmap [option] executable core

jmap [option] [server-id@]remote-hostname-or-ip

jmap用来查看堆内存使用状况,一般结合jhat使用。

jmap -dump:live,format=b,file=[filename] [pid]

主要用于生成堆快照文件

-dump:[live,]format=b,file= 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.

-finalizerinfo 打印正等候回收的对象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.

-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.

-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.

-F 强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.

-J 传递参数给jmap启动的jvm.

class name是对象类型,说明如下:

  • B  byte
  • C  char
  • D  double
  • F  float
  • I  int
  • J  long
  • Z  boolean
  • [  数组,如[I表示int[]
  • [L+类名 其他对象

 

 

 

jstack [option] pid

jstack [option] executable core

jstack [option] [server-id@]remote-hostname-or-ip

主要用来查看某个Java进程内的线程堆栈信息。

 jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。

-l long listings,会打印出额外的锁信息,在发生死锁时可以用jstack -l pid来观察锁持有情况

-m mixed mode,不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)

 

jinfo [ option ] pid

jinfo [ option ] executable core

jinfo [ option ] [server-id@]remote-hostname-or-IP

可以用来查看正在运行的Java应用程序的扩展参数,甚至在运行时修改部分参数

no option  打印命令行参数和系统属性

-flags  打印命令行参数

-sysprops  打印系统属性

你可能感兴趣的:(Java)