Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将缺少的本机线程id映射到线程转储_Java - Fatal编程技术网

Java 将缺少的本机线程id映射到线程转储

Java 将缺少的本机线程id映射到线程转储,java,Java,当本机线程id与线程转储中列出的任何线程都不匹配时,如何识别java进程中的线程 上下文:在Windows上运行,我目前正在使用Sysinternals进程资源管理器监视运行tomcat主机的java.exe,该主机用于我们实验室中使用的一个Web应用程序。我们目前正在关注这一点,因为CPU配置文件最近很疯狂 当服务器没有响应时,我查看java映像的属性,切换到thread选项卡,并按CPU列排序。通常会有一辆TID(例如62504)停在列表顶部或附近。我将TID转换为十六进制表示形式(F428

当本机线程id与线程转储中列出的任何线程都不匹配时,如何识别java进程中的线程

上下文:在Windows上运行,我目前正在使用Sysinternals进程资源管理器监视运行tomcat主机的java.exe,该主机用于我们实验室中使用的一个Web应用程序。我们目前正在关注这一点,因为CPU配置文件最近很疯狂

当服务器没有响应时,我查看java映像的属性,切换到thread选项卡,并按CPU列排序。通常会有一辆TID(例如62504)停在列表顶部或附近。我将TID转换为十六进制表示形式(F428),检查线程转储-足够确定 “VM线程”优先级=10 tid=0x33D4500 nid=0xf428可运行

这让我觉得我的ID映射方法已经足够了

但因为我们现在关注的是CPU,所以我也对本机线程61136感兴趣,它在一个小时的运行时间内就超过了5分钟的内核时间。61136->0xEED0,但我的线程转储中没有一个包含nid=0xEED0条目


编辑:进一步的测试表明StartAddress是一条关键信息-所有msvcr71.dll线程都出现在转储中或具有很短的生存期,但其他模块(mswsock.dll、kernel32.dll)中的线程不会出现。主线程来自java.exe,但该模块中还有其他线程没有出现在线程转储中。

61136->
0xEED0
(最后一个0是零,不是大写的O)。这是您的SO帖子中的一个打字错误,还是您在代码/应用程序中犯了这个错误?

61136->
0xEED0
(最后一个0是零,不是大写的O)。这是你的SO帖子中的一个打字错误,还是你在代码/应用程序中犯了这个错误?

我几乎可以肯定这只是帖子中的一个转录错误,但你已经打消了我的妄想症,我需要重新运行这个实验。我几乎可以肯定这只是帖子中的一个转录错误,但是你已经把我的妄想症踢得够厉害了,我需要重新进行实验。