JJava Runtime Monitor在Java平台及其上运行的应用程序上提供了开箱即用的远程监控和管理。它监控性能指标,例如内存(JVM),垃圾回收(GC)和线程统计信息。可以关联阈值并生成告警。此外,还支持自动线程转储,堆转储和PerformGC等管理操作。Applications Manager支持的不同JVM供应商是Sun JVM,IBM JVM和Oracle JRockit JVM。
Java Runtime 监视器的先决条件:进一步了解要添加到Java Runtime 监控的应用程序中的JVM参数。
使用REST API添加新的Java Runtine监视器:点击此处
Java Runtime 监视器会检查监视器的可用性,响应时间,连接时间(Applications Manager在远程JVM上查找JMX代理所花费的时间)以及下面列出的许多其他参数。
参数 | 描述 |
---|---|
监控信息 | |
Name | JavaRuntime监视器的名称。 |
Health | 指定JavaRuntime监视器的健康状况(正常,警告,严重)。 |
Type | 指定要监控的类型。 |
Host name | 指定运行Java虚拟机的主机。 |
Port | 指定运行Java虚拟机的端口号。 |
Host OS | 指定运行JavaRuntime监视器的主机的OS。 |
JVM | 指定Java虚拟机名称和版本。 |
Vendor | 指定Java虚拟机供应商名称。 |
Processor Count | 指定可用于Java虚拟机的处理器数量。 |
Last Polled at | 指定执行上次轮询的时间。 |
Next Poll at | 指定计划下一次轮询的时间。 |
Availability | 显示JavaRuntime监视器的当前状态-可用或不可用。 |
Connection Time | 连接到Java虚拟机所花费的时间。 |
内存池 | |
Eden Space (Heap Memory) | 最初从中为大多数对象分配内存的池。 |
Survivor Space (Heap Memory) | 包含已通过GCeden space对象的池。 |
Tenured Generation (Heap Memory) | 包含survivor space中已存在一段时间的对象的池。 |
Java Heap | JVM存储对象的空间。 |
Permanent Generation (Non-Heap)(for versions older than JDK 1.8) | 保留虚拟机本身的所有反射数据,例如类和方法对象。对于使用类数据共享的JVM,这一代被分为只读和读写区域。 |
MetaSpace(for JDK 1.8) | 用于表示类元数据的本机存储空间称为Metaspace。MetaSpace使用本机内存来存储元数据,并且会自动增长。 |
Compressed Class Space(for JDK 1.8) | 压缩的类空间仅包含类元数据。 |
Code Cache (Non-Heap) | 用于编译和存储本机代码的内存。 |
JIT Code Cache | 内存将转换为汇编程序并存储为更高速度运行。 |
Nursery | 新分配对象的单独空间。 |
类加载 | |
Classes loaded | 加载的类数。 |
Classes Unloaded | 卸载类数。 |
JVM统计信息 | |
CPU Load | 指定由JVM引起的计算机负载的百分比。 0表示未创建任何负载,100表示所有负载均由JVM创建。 |
CPU Usage | 这表示服务器上JVM的CPU使用率。 |
Max file descriptor | 最大允许的打开文件描述符。仅适用于UNIX。 |
主机内存 | |
Total Physical Memory | 物理内存总量(以兆字节为单位)。 |
Free Physical Memory | 可用物理内存量(以兆字节为单位)。 |
Total Swap Space | 交换空间总量(以兆字节为单位)。 |
Committed Virtual Memory | 保证正在运行的进程可用的虚拟内存量(以兆字节为单位)。 |
参数 | 描述 |
---|---|
垃圾回收 | |
Time Spent/Min | 大约消耗的时间(以毫秒为单位)。 |
Collections/Min | 已发生的收集总数。 |
Thread Count | 用于垃圾回收的线程数。 |
Last Start Time | 此GC的开始时间。 |
Last End Time | 此GC的结束时间。 |
Memory usage before GC | 此GC开头的所有内存池的内存使用情况。 |
Memory usage after GC | 此GC末尾所有内存池的内存使用情况。 |
GC time | 执行垃圾回收所花费的时间。 |
Compile time | 即时(JIT)编译所花费的时间。 |
参数 | 描述 |
---|---|
线程参数 | |
Total threads started | 自Java虚拟机启动以来创建和启动的线程总数。 |
Peak Threads | 自Java虚拟机启动或重置峰值以来,活动线程峰值达到峰值。 |
Live Threads | 当前正在运行的活动线程数。 |
Daemon Threads | 当前正在运行的守护程序线程数。 |
Runnable Threads | 在Java虚拟机中执行的线程处于这种状态。 |
Blocked Threads | 等待监视器锁定而被阻塞的线程处于此状态。 |
Waiting Threads | 无限期地等待另一个线程执行特定操作的线程处于此状态。 |
Timed waiting Threads | 一个线程正在等待另一个线程执行操作的时间达到指定的等待时间。 |
Deadlocked | 处于死锁状态的等待获取对象监视器的线程数。 |
参数 | 描述 |
---|---|
配置信息 | |
Uptime | Java虚拟机的正常运行时间。 |
Java Virtual Machine | Java虚拟机实现名称。 |
Vendor | Java虚拟机实施供应商。 |
Process ID | 进程标识符是一些操作系统内核用来唯一标识进程的数字。 |
Name | 代表正在运行的Java虚拟机的名称。 |
VM arguments | 传递给Java虚拟机的输入参数,其中不包括main方法的参数。 |
Class path | 系统类加载器用来搜索类文件的Java类路径。 |
Library path | Java库路径。 |
Boot class path | 引导类加载器用来搜索类文件的引导类路径。 |
JIT compiler | 即时(JIT)编译器的名称 |
Objects Pending for finalization | 完成终结的对象的大概数量。 |
Operating System | 操作系统的名称。 |
Architecture | 操作系统架构。 |
Processors | Java虚拟机可用的处理器数。 |
Max Metaspace | 包含所有其他大型类元数据的最大元空间,包括方法,字节码,常量池等。 |
Max non-heap | 最大非堆=提交非堆+可用物理内存。 注意:同样在虚拟内存的情况下,我们仅考虑可用物理内存来计算最大Metaspace值。 |
下表列出了Applications Manager支持的不同JVM供应商以及它们监控的主要参数。
监控参数 | Sun JVM | IBM JVM | JRockit JVM |
---|---|---|---|
Connection Time | |||
Memory Usage | |||
CPU Usage | |||
CPU Load | |||
System Memory | |||
Process Memory | |||
Heap Memory | |||
Non Heap Memory | |||
VM Statistics | |||
Total Physical Memory | |||
Free Physical Memory | |||
Total Swap Space | |||
Free Swap Space | |||
Committed Virtual Memory | |||
Garbage Collector- Summary | |||
Garbage Collector - View impact for specific collector | |||
Total Threads Started | |||
Peak Threads | |||
Live Threads | |||
Runnable Threads | |||
Blocked Threads | |||
Waiting Threads | |||
Timed Waiting Threads | |||
Daemon Threads | |||
Deadlocked | |||
Configuration Details | |||
JVM Actions |
查看线程转储
在线程选项卡下有一个选项可以查看线程转储历史记录。点击线程选项卡中的查看线程转储链接。线程转储页面将在新窗口中打开,您将能够查看当前的线程转储详细信息。关闭此窗口后,线程转储详细信息将移动到线程历史记录部分下。您可以随时在此部分中查看此信息。
报表
我们提供查看实时和任何存在于配置信息部分的属性,历史数据的选项配置选项卡。点击配置选项卡下的任何属性。这将打开一个名为历史数据的新窗口,其中提供了有关这些属性的更多信息。
历史数据窗口中有两个选项卡-历史报表和全局视图。
历史报表:此选项卡提供基于所选时间段的所选属性的历史报表。您也可以使用选择属性下拉框并查看其他属性的报表。
全局视图:此选项卡在多个监视器上显示所选属性的当前值。要查看有关监视器中存在的其他属性的信息,请使用选择属性下拉框并更改属性。
如果要查看多个属性的数据,请点击窗口左上角的自定义列链接。这将带您进入编辑全局视图页面。在此页面中,可以使用按监视器类型筛选下拉框来更改监视器类型,选择要显示的指标,并以监视器或业务组为基础显示监视器。选择选项后,点击显示报表按钮以在全局视图选项卡中查看那些信息。
注意:如果未在安装Applications Manager的计算机上建立jmx连接,请使用此密钥并重新启动应用程序:
-Djava.rmi.server.hostname = YOUR_IP