jdk在安装的时候会提供一些性能分析、故障诊断、JVM监控之类的工具,了解这些工具对我们分析JVM内存、JVM调优有一定的帮助,本篇文章来学习一下。
jps(JVM Process Status)是查看正在运行的虚拟机进程的工具。jps能获取进程id,所以会被经常使用。在 linux 中,一般自带了 OpenJdk,一般情况下 JPS 等命令不能用,要么选择去安装 JPS 等插件,要么把 OpenJdk 卸载,重新安装 Oracle 的 JDK。
语法:jps [ options ] [ hostid ]
参数
含义
-q
只显示进程
-m
输出主函数传入的参数
-l
输出应用程序主类完整 package 名称或 jar 完整名称.
-v
列出 jvm 参数
-V
只生成本地JVM标识符列表
-J
向JVM传递参数。例如:-J-Xms48m,设置JVM初始内存为48m
测试:
sun.desktop
,就会弹出对应的属性值。JConsole启动的时候还可以附加其他参数:-interval=n:更新间隔频率,单位秒(s),默认4秒更新一次-notile:对于2个及以上连接不平铺窗口-pluginpath plugins:启动的同时指定一个插件jvisualvm是一个监控运行时java应用程序的图形界面工具。jvisualvm大致和Jconsole差不多,就是多了抽样器和profiler,感兴趣的可以自己试一下。
命令行输入jvisualvm
就可以启动jvisualvm可视化界面了。
选择要查看的应用程序就可以进入监控界面
jhat命令是用来加载jmap生成的dump文件的,前面不是说官方建议使用VisualVM代替jhat命令嘛,那就是说jvisualvm也可以加载dump文件。
选择堆dump
打开就能看到之前生成的dump文件里面的内容了
jvisualvm还可以安装插件
这里选择安装Visual GC
安装好之后就可以看到jvm内存变化情况,通过Visual GC可以很好地理解JVM运行时区域信息。
以上就是关于JVM的一些优化工具,这里只是简单的介绍了一下,有兴趣的可以深入了解一下,对JVM进行优化时大有用处。