使用 VisualVM 和 JMX 我们可以获得 CPU 使用率、GC 活动、类加载信息、堆大小和已用堆统计信息、所有线程信息和统计信息,
CPU 和内存分析、性能监控、工作节点的内存泄漏。您还可以获取堆转储和线程转储、分析器快照。
设置步骤
第 1 步:盯着 VisualVM
Java VisualVM 与 JDK 版本 6 更新 7 或更高版本捆绑在一起。导航到 JDK 软件的 bin 目录并双击 Java VisualVM 可执行文件。
或者,导航到 JDK 软件的 bin 目录并在命令(shell)提示符下键入以下命令:jvisualvm。
第 2 步:添加 MBean 插件
对于 JMX 监控,您需要显式添加 MBean 插件。
1、从主菜单中选择工具>插件。
2、在下载的插件选项卡中,点击添加插件
3、选择Mbean插件
成功添加 MBean 插件后,您可以在 VisualVM 中看到 MBean 选项卡,并且可以监控 JMX。
第 3 步:本地监控
默认情况下,VisualVM 将监视在本地 JVM 上运行的所有应用程序。如果您使用 Java 1.6 及更高版本,则无需进行任何更改。
第 4 步:远程监控
要检索和显示远程主机上运行的应用程序的信息,jstatd 实用程序需要在远程主机上运行。
运行 jstatd 的步骤
jstatd 工具是一个 RMI 服务器应用程序,用于监视已检测的 HotSpot Java 虚拟机 (JVM) 的创建和终止,并提供
允许远程监控工具连接到 JVM 的接口。
1、创建一个文件名为“jstatd.all.policy”的文件并复制以下内容
授予代码库 "file:${java.home}/../lib/tools.jar" { 权限 java.security.AllPermission ;};
2、复制java bin(Java\jdk1.7.0_10\bin)目录下的“jstatd.all.policy”文件
3、导航到你的JDK软件的bin目录,在命令提示符下输入以下命令:jstatd -J-Djava.security.policy=jstatd.all.policy.txt
4、运行 jstatd 需要管理员权限,然后只有所有其他用户才能连接它远程主机。
这是一次活动。 (在 CIT 和 SIT 中使用后台进程运行)
要在 VisualVM 中添加远程主机,请右键单击应用程序窗口中的远程节点,
选择添加远程主机并在添加远程主机对话框中键入主机名或 IP 地址。
当 Java VisualVM 连接到远程主机时,远程主机的节点会出现在应用程序窗口的远程节点下。
您可以展开远程主机节点,查看远程主机上运行的应用程序。