jconsole 是 Java Development Kit (JDK) 自带的一款图形化监控和管理工具。它旨在提供一个简单而强大的界面,用于监视和管理 Java 应用程序在 Java 虚拟机 (JVM) 上的运行情况。
jconsole 提供了可视化的方式来获取有关 Java 应用程序的各种信息,包括内存使用情况、线程活动、GC 行为等重要指标。它还允许远程连接到运行中的 Java 进程,提供对远程应用程序的监控和管理能力。
jconsole命令特征如下:
优点:
直观易用:jconsole 提供了直观的用户界面,使得监控和管理 Java 应用程序变得更加容易;
实时监测:可以实时查看应用程序的性能指标,并根据需要进行调整和优化;
远程监控:可以连接到运行在远程主机上的 Java 进程,方便地进行远程监控和管理。
缺点:
功能有限:相比其他更为专业的监控工具,jconsole 的功能相对简单,并不适用于高级的监控和故障排除需求;
效能损耗:在连接到远程应用程序时,jconsole 可能会对目标应用程序的性能产生一定程度的影响。
Jconsole工具查看程序的资源占用请求。安装jdk时bin目录有jconsole.exe工具,或者通过 Win + R,输入jconsole.exe启动jconsole( 可以从命令行直接输入jconsole)
选择本地登录或者远程登录
登录后可以看到界面上,有概览\内存\线程\类\VM概要等信息
主要是对于堆\线程\类\cpu使用的实时响应使用状态
JConsole可以显示当前内存的详细信息。这里不仅包括堆内存的整体信息,更细化到了eden区、survivior区及老年代的使用情况,同时也包括非堆区,即永久代的使用情况。单击右上角的“执行GC”按钮,可以强制应用程序进行一次FullGC操作
堆和非堆内存
Java虚拟机管理两种内存:堆和非堆内存,这两者都是Java虚拟机启动时创建的。
JConsole中的“线程”选项卡允许开发人员监控程序内的线程。JConsole显示了系统内的线程数量,并在屏幕下方显示了程序中所有的线程。单击线程名称,便可以查看线程的栈信息。(如果线程过多,可以在下面的过滤栏中输入字符串过滤出你想要观察的线程)
统计图显示的是线程数目的峰值(红色)和当前活动的线程(蓝色)。
线程选项卡提供了几个有用的操作。
查看加载和卸载的类信息
JConsole显示了当前应用程序的运行环境,包括虚拟机类型、版本、堆信息及虚拟机参数等
通过JConsole进行MBean管理,包括查看或者设置MBean的属性,以及运行MBean的方法等。如图示为MBean的管理界面,这里选中了Memory的Verbose属性。通过修改Verbose的属性值,可以在程序运行时动态打开或者关闭GC操作的输出信息。
本文作者:Weee
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!