使用JConsole监控

  

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

使用JConsole监控

3。远程监控

% jconsole 主机名:portNum

使用JConsole监控”> <br/> </p> <p> 3.1远程监控配置</p> <p>设置此属性注册了Java VM平台的MBean并通过专用接口发布了远程方法调用(RMI)连接器,以允许JMX客户端应用程序监视本地Java平台,即与JMX客户机在同一台机器上运行Java VM的。</p> <p> 3.1开启JMX端口<br/> </p> <pre类= 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选项卡

使用JConsole监控

概述(Overview):显示有关Java VM和监视值的概述信息。
内存(Memory):显示有关内存使用的信息。
线程(Threads):显示有关线程使用的信息。
类(Classes):显示有关加载类的信息。
VM(VM Summary):显示有关Java VM的信息。

MBeans(MBeans):显示有关MBean的信息。

4.1.1概述信息

“概述”选项卡显示有关CPU使用情况,内存使用情况,线程计数以及Java VM中加载的类的图形监视信息,均在单个屏幕中。
使用JConsole监控

JConsole允许您将图表中显示的数据保存在逗号分隔值(CSV)文件中。要从图表保存数据,只需右键单击任何图表,

4.1.2 内存选项卡

“内存”选项卡提供有关内存消耗和内存池的信息。

使用JConsole监控

  • Eden Space (heap):

  • Survivor Space (heap):

  • Tenured Generation (heap):

  • Permanent Generation (non-heap):

  • Code Cache (non-heap):

“ 详细信息”区域显示几个当前内存指标:
已使用(Used):当前使用的内存量,包括所有对象占用的内存,可访问和不可访问。

承诺(Committed):保证可供Java VM使用的内存量。承诺的内存量可能会随时间而变化。Java虚拟机可能会将内存释放到系统,并且已提交内存的数量可能小于启动时初始分配的内存量。提交的内存量将始终大于或等于已使用的内存量。

使用JConsole监控