相关疑难解决方法(0)

Java程序如何获得自己的进程ID?

如何获取Java进程的ID?

我知道有几个依赖于平台的黑客,但我更喜欢更通用的解决方案.

java pid

334
推荐指数
14
解决办法
25万
查看次数

如何通过已知的PID/TID获取JVM线程名称/ id

昨天我们在Debian上运行的tomcat 6服务器出现了一个奇怪的问题:我们有第二次长时间冻结/中断,长度随着时间的推移而增加.在冻结期间,我们所有的独立网络应用程序都没有响应.中断具有非常高的规律性,在一小时的过程中,中断阶段变得比活动阶段更长,直到我们重新启动解决问题的服务器.现在我们想要找出它是什么或者找到一个解决方案,以便在它再次发生时找出它是什么!

在每个中断阶段,24个核心中的一个被一个tomcat线程100%使用,因此我们假设线程正在做的任何事情都冻结了整个tomcat.遗憾的是,我们不知道那个主题是在做什么.今天我研究了一个获得java线程TID的解决方案,我发现了一个很棒的解决方案:在Linux中获取Java线程的线程ID.

将它放在我们广泛的日志文件条目中并找到JVM线程就足够了,但是如果它是一个不完全在我们控制之下的线程呢?那么有一个同步的TID/Java-Thread-ID快照的烦恼怎么样?这导致了我的核心问题:

是否有办法从已知的Linux TID获取JVM线程名称/ ID?

我的希望很小,但也许有一个对JVM的交叉进程调用或我尚未考虑的另一个想法.

我们在该服务器上运行了Yourkit分析器,但在中断阶段,它无法记录任何内容,因此我们找不到有问题的线程.

java tomcat jvm

1
推荐指数
1
解决办法
3472
查看次数

标签 统计

java ×2

jvm ×1

pid ×1

tomcat ×1