使用 Java SE,可以从 JVM 中获取其他监视信息。将监视级别设置为“低”以启用这些附加信息的显示。将监视级别设置为“高”还可以查看与系统中每个活动线程相关的信息。有关 Java SE 的其他监视功能的更多信息,请参见标题为 "Monitoring and Management for the Java Platform" 的文档,可从 http://java.sun.com/javase/6/docs/technotes/guides/management/ 获取该文档。
http://java.sun.com/javase/6/docs/technotes/tools/#manage 中讨论了 Java SE 监视工具。
下表中显示了 Java SE 的 JVM 中类装入的可用统计信息。
表 18–17 Java SE 的 JVM 统计信息-类装入
统计信息 |
数据类型 |
说明 |
---|---|---|
loadedclasscount |
计数统计信息 |
当前装入 JVM 的类的数目。 |
totalloadedclasscount |
计数统计信息 |
自 JVM 开始执行以来已装入的类的总数。 |
unloadedclasscount |
计数统计信息 |
自 JVM 开始执行以来已从 JVM 中卸载的类的数目。 |
下表中显示了 Java SE 的 JVM 中编译的可用统计信息。
表 18–18 Java SE 的 JVM 统计信息-编译
统计信息 |
数据类型 |
说明 |
---|---|---|
totalcompilationtime |
计数统计信息 |
编译所花费的累积时间(以毫秒为单位)。 |
下表中显示了 Java SE 的 JVM 中垃圾收集的可用统计信息。
表 18–19 Java SE 的 JVM 统计信息-垃圾收集
统计信息 |
数据类型 |
说明 |
---|---|---|
collectioncount |
计数统计信息 |
已发生的收集的总数。 |
collectiontime |
计数统计信息 |
累积的收集时间(以毫秒为单位)。 |
下表中显示了 Java SE 的 JVM 中内存的可用统计信息。
表 18–20 Java SE 的 JVM 统计信息-内存
统计信息 |
数据类型 |
说明 |
---|---|---|
objectpendingfinalizationcount |
计数统计信息 |
暂挂结束操作的对象的大约数目。 |
initheapsize |
计数统计信息 |
最初由 JVM 请求的堆的大小。 |
usedheapsize |
计数统计信息 |
当前正在使用的堆的大小。 |
maxheapsize |
计数统计信息 |
可用于内存管理的最大内存容量(以字节为单位)。 |
committedheapsize |
计数统计信息 |
确认可由 JVM 使用的内存容量(以字节为单位)。 |
initnonheapsize |
计数统计信息 |
最初由 JVM 请求的非堆区域的大小。 |
usednonheapsize |
计数统计信息 |
当前正在使用的非堆区域的大小。 |
maxnonheapsize |
计数统计信息 |
可用于内存管理的最大内存容量(以字节为单位)。 |
committednonheapsize |
计数统计信息 |
确认可由 JVM 使用的内存容量(以字节为单位)。 |
下表中显示了Java SE 的 JVM 中操作系统的可用统计信息。
表 18–21 Java SE 的 JVM 统计信息-操作系统
统计信息 |
数据类型 |
说明 |
---|---|---|
arch |
字符串统计信息 |
操作系统体系结构。 |
availableprocessors |
计数统计信息 |
可用于 JVM 的处理器的数目。 |
name |
字符串统计信息 |
操作系统名称。 |
version |
字符串统计信息 |
操作系统版本。 |
下表中显示了 Java SE 的 JVM 中运行时的可用统计信息。
表 18–22 Java SE 的 JVM 统计信息-运行时
统计信息 |
数据类型 |
说明 |
---|---|---|
name |
字符串统计信息 |
代表正在运行的 JVM 的名称 |
vmname |
字符串统计信息 |
JVM 实现名称。 |
vmvendor |
字符串统计信息 |
JVM 实现供应商。 |
vmversion |
字符串统计信息 |
JVM 实现版本。 |
specname |
字符串统计信息 |
JVM 规范名称。 |
specvendor |
字符串统计信息 |
JVM 规范供应商。 |
specversion |
字符串统计信息 |
JVM 规范版本。 |
managementspecversion |
字符串统计信息 |
由 JVM 实现的管理规范版本 |
classpath |
字符串统计信息 |
系统类加载器搜索类文件时所使用的类路径。 |
librarypath |
字符串统计信息 |
Java 库路径。 |
bootclasspath |
字符串统计信息 |
引导类加载器搜索类文件时所使用的类路径。 |
inputarguments |
字符串统计信息 |
传递给 JVM 的输入参数。不包括 main 方法的参数。 |
uptime |
计数统计信息 |
JVM 的正常运行时间(以毫秒为单位)。 |
下表中显示了 Java SE 的 JVM 中线程信息的可用统计信息。
表 18–23 Java SE 的 JVM 统计信息-线程信息
统计信息 |
数据类型 |
说明 |
---|---|---|
threadid |
计数统计信息 |
线程 ID。 |
threadname |
字符串统计信息 |
线程名称。 |
threadstate |
字符串统计信息 |
线程状态。 |
blockedtime |
计数统计信息 |
线程进入 BLOCKED 状态以来所经历的时间(以毫秒为单位)。如果已禁用线程争用监视,则返回 -1。 |
blockedcount |
计数统计信息 |
线程进入 BLOCKED 状态的总次数。 |
waitedtime |
计数统计信息 |
线程处于 WAITING 状态所经历的时间(以毫秒为单位)。如果已禁用线程争用监视,则返回 -1。 |
waitedcount |
计数统计信息 |
线程处于 WAITING 或 TIMED_WAITING 状态的总次数。 |
lockname |
字符串统计信息 |
一种监视锁的字符串表示形式,该监视锁表明线程被阻塞而无法进入或者正等待通过 Object.wait 方法接收通知。 |
lockownerid |
计数统计信息 |
保存某个对象的监视锁的线程 ID,该线程在该对象上发生阻塞。 |
lockownername |
字符串统计信息 |
保存某个对象的监视锁的线程名称,该线程在该对象上发生阻塞。 |
stacktrace |
字符串统计信息 |
与该线程相关的堆栈追踪。 |
下表中显示了 Java SE 的 JVM 中线程的可用统计信息。
表 18–24 Java SE 的 JVM 统计信息-线程
统计信息 |
数据类型 |
说明 |
---|---|---|
threadcount |
计数统计信息 |
当前的活动守护线程和非守护线程数。 |
peakthreadcount |
计数统计信息 |
自 JVM 启动或峰复位以来的峰活动线程计数。 |
totalstartedthreadcount |
计数统计信息 |
自 JVM 启动以来创建和/或启动的线程总数。 |
daemonthreadcount |
计数统计信息 |
当前的活动守护线程数。 |
allthreadids |
字符串统计信息 |
所有活动线程 ID 列表。 |
currentthreadcputime |
计数统计信息 |
如果已启用 CPU 时间测量,则表示当前线程的 CPU 时间(以纳秒为单位)。如果已禁用 CPU 时间测量,则返回 -1。 |
monitordeadlockedthreads |
字符串统计信息 |
处于监视死锁状态的线程 ID 列表。 |