JVM的监控工具很多,而且原本很多随着JDK一起发布的工具也有些已经单独维护了,同时在互联网上还有一些在线的分析工具,选择一款适合于自己的就可以了,在阿里之中推出一个Arthas工具。
jstat(全称“Java Virtual Machine statistics monitoring tool”)是一个JDK自带的轻量级MM监控工具,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了堆内存的大小和垃圾回收状况的监控,在jstat命令中提供了大量的可用监控项,开发者直接通过 jstat -options 命令,即可查看当前支持的监控选项。
-class:显示加载类的数量以及所占用的空间信息
-compiler:显示JVM实时编译器(JIT)的数量
-gc:显示当前JVM中的GC信息,例如GC的次数以及时间
-gccapacity:显示JVM堆内存中的分代中的对象使用和占用大小
-gccause:监控JVM堆内存中使用信息以及上一次GC产生的原因
-gcmetacapacity:查看元空间的内存容量
-gcnew:新生代堆内存统计
-gcnewcapacity:查看新生代的内存容量
-gcold:老年代堆内存统计
-gcoldcapacity:查看老年代的内存容量
-gcutil:统计GC信息
-printcompilation:查看当前JVM的执行信息
如果要使用上述这些命令进行操作,那么有一个前提条件就是一定要获取当前JVM运行的进程ID。为了解决获取Java进程的设计问题,在JDK的内部提供有了一个jps的命令,这个命令可以获取当前全部运行的JVM进程信息。
1、jstat –class
该命令表示显示加载class的数量,及所占空间等信息。
jstat -class 进程ID

其输出信息各个参数(按照输出顺序排序)的说明:
Loaded:装载类的数量
Bytes:装载类所占用的字节数
Unloaded:卸载类的数量
Bytes:卸载类的字节数
Time:装载和卸载类所花费的时间
如果想实时动态输出上述信息,则可以在上述命令基础上再追加一个参数:
jsta

本文详细介绍了JVM自带的监控工具jstat,包括-class, -compiler, -gc, -gccapacity, -gccause, -gcutil和-printcompilation等选项的使用,用于监控Java应用的内存、类加载、编译器和GC状态。jstat能提供实时的JVM性能数据,帮助开发者诊断和优化应用性能。"
72859700,6781231,理解与实现二分查找算法,"['算法', '二分查找', '搜索算法', '数据结构', '编程基础']
最低0.47元/天 解锁文章
777

被折叠的 条评论
为什么被折叠?



