![]() 上一页 |
![]() 下一页 |
使用线程选项卡可以监视线程活动。此选项卡包含一个绘制应用程序随时间推移的活动线程使用情况的图形、一个由该应用程序使用的所有活动线程的表,以及选定线程的堆栈跟踪。
活动线程图
活动线程图显示 Java 应用程序随时间推移启动的线程数。默认情况下,图形中显示以下属性:
守护程序活动线程计数:守护程序活动线程数。
峰值活动线程计数:峰值活动线程数。
活动线程总计数:活动线程的总数。
有关添加或删除图形属性的信息,请参阅“使用属性”。有关使用图形的信息,请参阅使用图形。
活动线程
活动线程面板包含一个表,其中列出 Java 应用程序所启动的活动线程的相关信息。默认情况下,该表包含以下列:
线程名称:线程的名称。
线程状态:线程的状态。线程可以是以下状态之一:NEW
、RUNNABLE
、BLOCKED
、WAITING
、TIMED_WAITING
或 TERMINATED
。
阻塞计数:线程处于BLOCKED
状态的次数。
CPU 总体占用率:线程所使用 CPU 资源占总 CPU 资源的百分比。默认情况下不提取此值。要启用它,请在表上方选择 CPU 概要分析。
死锁:线程是否已死锁。默认情况下不提取此值。要启用它,请在表上方选择死锁检测。
已分配的字节:已分配给线程的字节数。默认情况下不提取此值。要启用它,请在表上方选择分配。
实时监视最后三个值会消耗大量系统资源。这就是默认情况下禁用它们的原因。使用表上方相应的复选框,对这些值启用监视。
要筛选表中的线程,请选择筛选列(通常是线程名称)并在表上方的文本字段中指定筛选器字符串。
要配置表外观,请右键单击活动线程面板中的线程名称,选择可见列,然后选择要显示或隐藏的列。除了默认列,您还可以添加以下列:
受阻时间:线程处于 BLOCKED
状态的累积时间(以毫秒为单位)。
锁名称:此线程尝试访问的锁定对象,或此线程为当前线程时调用 wait() 的对象。
锁持有者 ID:锁定此线程尝试访问的对象的线程标识符。
锁持有者名称:锁定此线程尝试访问的对象的线程的名称。
本地:线程当前是否正使用 Java Native Interface (JNI) 执行本地代码。
已挂起:线程是否已挂起。
线程 ID:线程的标识符。
等待的计数:线程处于 WAITING
或 TIMED_WAITING
状态的次数。
等待时间:线程处于 WAITING
或 TIMED_WAITING
状态的累积时间(以毫秒为单位)。
选定线程的堆栈跟踪
在活动线程表中选择线程后,其整个堆栈跟踪将显示在下面的选定线程的堆栈跟踪面板中。堆栈跟踪包含所有方法(一直到当前执行的方法)的调用路径。它非常有用,例如,当您需要确定导致死锁或代码执行过程中意外中断的方法时。
您可以使用 Ctrl 键在活动线程表中选择多个线程来显示多个堆栈跟踪。
版权所有 © 2018, 2022, Oracle 和/或其附属公司。 保留所有权利。 |
![]() 上一页 |
![]() 下一页 |