JConsole JDK1.6 使用手册


JConsole的图形用户界面是一个符合Java管理扩展(JMX)规范的监测工具。 JConsole使用Java虚拟机(Java VM),提供在Java平台上运行的应用程序的性能和资源消耗的信息。

在Java平台,标准版(Java SE平台)6,JConsole的已经更新到目前的外观和感觉的Windows和GNOME桌面(其他平台,将目前标准的Java图形的外观和感觉)。 在这个文件中提出的屏幕截图是从Windows XP上运行的接口的一个实例。

启动JConsole

JConsole是可执行文件,在JDK_HOME / bin目录其中JDK_HOME是在Java开发工具包(JDK)的安装目录。 如果此目录是在您的系统路径,你可以开始只需键入命令jconsole。 否则,您必须键入可执行文件的完整路径。

命令语法

您可以使用JConsole来监视本地应用程序以及远程应用程序。


注-使用JConsole监视本地应用程序在开发和创建原型是非常有用的,但不推荐用于生产环境,因为jconsole本身也消耗大量的系统资源。 远程监控建议隔离被监视机器。


jconsole命令的语法完整的参考,请参阅 JConsole的命令手册页:Java监视和管理控制台。

设置本地监控

在命令行中键入以下命令启动JConsole的。

 JConsole

当JConsole的启动时,您将获得一个本地运行JConsole的可以连接到的所有的Java应用程序的选择。

如果您要监控的特定应用程序,你知道该应用程序的进程ID,那么你也可以启动JConsole连接到该应用程序。 此应用程序必须和JConsole运行在相同的用户ID下。 该命令的语法以下。

 %JConsole中 processID

以上的processID是应用程序的进程ID(PID)。 您可以用以下方式确定一个应用程序的PID:

  • 在UNIX或Linux系统,可以使用 ps命令找到正在运行的Java实例的PID 。
  • 在Windows系统上,您可以使用任务管理器, 找到 java 或者 javaw进程的PID。
  • 您还可以使用jps命令行实用程序来确定的PID。 见的手册页的Java虚拟机进程状态工具 。

例如,如果你确定, 记事本应用程序的进程ID是2956,那么你可以用下面的命令启动JConsole。

 JConsole 2956

jconsole和被监视的应用程序必须运行在相同的用户下, 拥有管理和监控系统使用的操作系统的文件权限。 如果你不指定一个进程ID,jconsole会自动检测所有本地Java应用程序,并显示一个对话框,让你选择一个(参阅连接到 JMX代理)。

欲了解更多信息,请参阅本地监控和管理 。

 

设置远程监控

要启动远程监控JConsole的,您可以使用下面的命令语法。

 JConsole 主机名 portNum

主机名是需要监听的主机,portNum是你启动Java虚拟机时指定的JMX代理的端口号。 欲了解更多信息,请参阅远程监控和管理 。

如果你不指定一个主机名/端口号的组合,那么jconsole会显示一个连接对话框( 连接到JMX代理 ),让你输入一个主机名和端口号。

建立安全的远程监控

您也可以使用安全套接字层(SSL)进行安全的连接。 命令启动JConsole的安全连接是在第2章,监控和管理使用JMX技术 启用SSL JConsole的远程监控 。

 

连接到一个JMX代理

如果您启动jconsole的时候指定的JMX代理连接到的参数,它会自动开始监视指定的Java VM。 您可以连接到不同的主机在任何时候通过选择连接|新连接,并输入必要的信息。

否则,如果你不提供任何参数,当您启动JConsole的,第一眼看到的是连接对话框。 此对话框有两个选项,允许连接到本地或远​​程进程。

 

动态连接

在以前的版本的Java SE平台,应用程序,你想监测与JConsole的需要与下面的选项开始。

 %,Dcom.sun.management.jmxremote

然而,与Java SE 6平台提供的JConsole的版本,可以连接到任何应用程序,支持附加的API。 换句话说,任何在Java SE 6 HotSpot虚拟机启动的应用程序由JConsole自动检测,并不需要使用上述的命令行选项开始。

 

JConsole的连接到一个本地进程

如果你不提供连接到一个特定的JMX代理启动JConsole的,你会看到下面的对话框窗口。

 

图3-1创建一个连接到一个本地进程

创建连接本地进程的对话窗口

本地进程选项列出所有运行在本地系统上且和JConsole程序相同的用户ID的Java SE6 应用,包括进程ID和他们的类或参数信息。选择您要监视的应用程序,然后单击“连接”按钮。 本地进程的名单中包括以下类型的Java虚拟机的运行的应用程序。

  • 启用管理代理的应用,包括Java SE 6平台指定 Dcom.sun.management.jmxremote选项 Dcom.sun.management.jmxremote.port选项开始的J2SE 5.0平台上的应用。 此外,名单中还包括任何应用程序,Java SE 6平台上开始没有任何管理属性,但以后JConsole的重视,这使得在运行时管理代理。
  • 禁用管理代理,可连接的应用,应用程序在运行时禁用加载管理代。Java SE 6平台上开始支持附加的API的应用程序, 支持动态的应用程序连接,启动管理代理可以不通过在命令行指定 com.sun.management.jmxremote或com.sun.management.jmxremote.port选项。 如果选择此类应用程序连,将启用该应用的管理代理。 在连接的例子所示的对话框图 3-1中,NetBeans IDE和jconsole本身也均开始在Java SE 6平台的虚拟机。 同时出现在正常的文本,这意味着,JConsole的可以连接到它们。 在图3-1中,JConsole是选定的,值得注意的是可见的。
  • 禁用应用程序,不扣押,管理代理。这些措施包括开始的J2SE 1.4.2平台上的应用,或J2SE 5.0平台上开始没有 Dcom.sun.management.jmxremote com.sun.management.jmxremote.port选项​​。 这些应用程序的显示表中显示为灰色和JConsole中无法连接到他们。 字谜应用程序在连接的例子所示的对话框图 3-1,没有任何的管理属性与J2SE 5.0平台的虚拟机开始启用JMX代理,并因此显示为灰色,无法选择。

图3-2没有管理代理尝试连接到应用程序启用

没有管理代理尝试连接到一个本地进程启用。此应用程序无法连接到JConsole的。

 

 

JConsole的连接到远程进程

当打开连接对话框,你也可以连接到远程进程。

 

图3-3创建一个连接到远程进程

创建连接到远程进程的对话框窗口

要监控远程Java虚拟机上运行的过程中,你必须提供下列资料。

  • 主机名:Java虚拟机正在运行的机器上的名称。
  • 端口号:当你启动Java虚拟机指定JMX代理端口号码。
  • 用户名和密码:用户名和密码才能使用(需要监测只有通过JMX代理,需要密码验证的Java虚拟机)。

有关设置JMX代理的端口号的信息 ,请参阅启用远程管理。 有关用户名和密码的信息,请参阅使用密码和访问文件。 

 

使用JMX服务URL连接

您还可以使用远程进程选项指定他们的JMX服务URL连接其他JMX代理,用户名和密码。 一个JMX服务URL的语法要求您提供用于进行连接的传输协议,以及服务接入点。

 

图3-4连接到一个JMX代理使用的JMX服务URL

使用JMX服务URL连接到JMX代理

如果JMX代理使用一个不包含在Java平台上的连接器,你需要添加连接器类到类路径中,如下所示。

 %JConsole- J - Djava.class.path = JAVA_HOME / lib中/ jconsole.jar:JAVA_HOME / 

 

更多详情见请继续阅读下一页的精彩内容:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一页

相关内容