了解一下 java 自带的性能监控工具
先简单介绍一下 top指令:查看当前所有进程的使用情况,CPU占有率,内存使用情况,服务器负载状态等参数。除此之外它还是个交互命令,使用可参考完全解读top。 jps:与linux上的ps类似,用于查看有权访问的虚拟机的进程,可以查看本地运行着几个java程序,并显示他们的进程号。当未指定hostid时,默认查看本机jvm进程。 jinfo:可以输出并修改运行时的java 进程的一些参数。 jstat:可以用来监视jvm内存内的各种堆和非堆的大小及其内存使用量。 jstack:堆栈跟踪工具,一般用于查看某个进程包含线程的情况。 jmap:打印出某个java进程(使用pid)内存内的所有对象的情况。一般用于查看内存占用情况。 上面基本上都是命令行的形式, 还有两款比较方便的图形化工具 jconsole.exe 和 jvisualvm.exe jvisualvm 算是 jconsole 的升级版,咱们主要说 visual VM 吧。 他们都是基于上面的命令来实现的。
jvisualvm.exe
Java VisualVM是一个直观的图形用户界面,当基于Java技术的应用程序在指定的Java虚拟机(JVM)上运行时,可提供有关它们的详细信息。 之所以命名为Java VisualVM,是因为Java VisualVM提供了有关JVM软件的可视化信息。
Java VisualVM将多个监视,故障排除和性能分析实用程序组合到一个工具中。例如,独立工具jmap,jinfo,jstat和jstack提供的大多数功能已集成到Java VisualVM中。可以将其他功能(例如jconsole命令提供的功能)添加为可选插件。
