1。介绍
JConsole图形用户界面是符合Java管理扩展(JMX)规范的监视工具,可以监测有关在Java平台上运行的应用程序的性能和资源消耗的信息。
启动JConsole
jconsole [, options ], [……,, connection ]
| |
间隔=n:设置更新间隔(默认4秒)
-notile:不平铺(两个或两个以上的连接)。
-pluginpath插件:指定目录,及jar路径。
jar中必须包含,meta - inf/服务/com.sun.tools.jconsole。JConsolePlugin
关于jmxURL,可以参考javax.management.remote.JMXServiceURL说明。
2。本地监控
%,jconsole #进程 %,jconsole processID
3。远程监控
% jconsole 主机名:portNum
com.sun.management.jmxremote # JDK6以前版本,需要为Java SE示例应用程序记事本启用JMX代理 % cd JDK_HOME /演示/jfc/记事本 % java -Dcom.sun.management.jmxremote -jar  Notepad.jar # JDK以后版本可以启用开箱即用的管理代理监视和管理 % java -jar Notepad.jar # portNum是要启用JMX RMI连接的端口号 #设置此属性将使用众所周知的名称“jmxrmi”在指定端口的私有只读注册表中发布一个附加的RMI连接 com.sun.management.jmxremote.port =, portNum
3.2使用密码认证
#开启或禁用 com.sun.management.jmxremote.authenticate=false
3.2.1 LDAP(不熟悉,不讨论)
com.sun.management.jmxremote.login.config
3.2.2密码认证
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999, \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=true \ -Dcom.sun.management.jmxremote.password.file=. ./conf/jmxremote.password \-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
其中com.sun.management.jmxremote.password.file可以从 JRE_HOME/lib/jmxremote.password.template模板获得;
com.sun.management.jmxremote.access.file可以同JRE_HOME/lib/jmxremote.access模板获得
4.功能
4.1选项卡
概述(Overview):显示有关Java VM和监视值的概述信息。内存(Memory):显示有关内存使用的信息。
线程(Threads):显示有关线程使用的信息。
类(Classes):显示有关加载类的信息。
VM(VM Summary):显示有关Java VM的信息。
MBeans(MBeans):显示有关MBean的信息。
4.1.1概述信息
“概述”选项卡显示有关CPU使用情况,内存使用情况,线程计数以及Java VM中加载的类的图形监视信息,均在单个屏幕中。
JConsole允许您将图表中显示的数据保存在逗号分隔值(CSV)文件中。要从图表保存数据,只需右键单击任何图表,
4.1.2 内存选项卡
“内存”选项卡提供有关内存消耗和内存池的信息。
Eden Space (heap):
Survivor Space (heap):
Tenured Generation (heap):
Permanent Generation (non-heap):
Code Cache (non-heap):
“ 详细信息”区域显示几个当前内存指标:
已使用(Used):当前使用的内存量,包括所有对象占用的内存,可访问和不可访问。
承诺(Committed):保证可供Java VM使用的内存量。承诺的内存量可能会随时间而变化。Java虚拟机可能会将内存释放到系统,并且已提交内存的数量可能小于启动时初始分配的内存量。提交的内存量将始终大于或等于已使用的内存量。