[英]can we find which thread is holding a lock in a heap dump file
就像 jstack 命令有 -l 选项一样,它包含锁定信息。
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F [-m] [-l] <pid>
(to connect to a hung process)
jstack [-m] [-l] <executable> <core>
(to connect to a core file)
jstack [-m] [-l] [server_id@]<remote server IP or hostname>
(to connect to a remote debug server)
Options:
-F to force a thread dump. Use when jstack <pid> does not respond (process is hung)
-m to print both java and native frames (mixed mode)
-l long listing. Prints additional information about locks
-h or -help to print this help message
我想知道 java 是否将锁信息存储在堆中? 如果答案是肯定的,我们可以通过查看堆转储文件来检查线程锁吗? 我正在使用 eclipse 内存分析器,但不知道该怎么做。
不知道堆中是否有锁信息。 但是您可以使用 mat 内存分析器获取堆中所有线程相关的信息。 您可以使用像下面这样的 OQL 查询来查询特定的线程对象,然后分析线程对象的详细信息。
SELECT s FROM java.lang.Thread s WHERE toString(s.name)="pool-thread-1"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.