JVM性能监控工具jps、jstack、jmap、jhat

jps是可以查看当前Java进程。

命令格式:jps [options ] [ hostid ]

[options]选项 :

-q:仅输出java进程号

-m:输出传递给Java进程(主函数)的参数

-l:输出主函数的完整路径

-v:输出jvm启动参数

jinfo查看正在运行的Java进程的扩展参数。

命令格式:jinfo

例如: jinfo –flag PrintGCDetails vmid

jstack查看Java进程内的线程堆栈信息。运行在64位JVM上,可能需要指定-J-d64命令选项参数。

命令格式:jstack [option] vmid

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

命令格式:jmap [option] vmid

[options]选项:

-permstat : 打印进程的类加载器和类加载器加载的持久代对象信息,输出:类加载器名称、对象是否存活(不可靠)、对象地址、父类加载器、已加载的类大小等信息。

-heap:查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况。

-histo[:live]:查看堆内存中的对象数目、大小统计直方图,如果带上live则只统计活对象。

-dump:format=b,file=fileName``:dump内存使用情况到文件中,之后可以用jhat分析查看。

使用jhat查看:jhat -port 9998 fileName``,之后输入主机地址:9998即可在浏览器中查看。