问题标签 [jstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
netbeans-platform - 需要帮助调查来自 NetBeans RCP 应用程序冻结的线程转储
我有一个基于 NetBeans RCP 的应用程序,它显然只在某些 PC 上,而且只是有时,在打开新的 TopComponent 后会自行冻结。老实说,我从未看过 JVM 线程转储,但我真的不知道会发生什么。不幸的是,我无法判断线程转储文件是否完整,因为 jstack 在尝试生成转储时会产生以下异常:
所以我设法用控制台窗口启动了我的 RCP 应用程序,并在它挂起时按下了 CTRL+break。如前所述,我无法确定它是否完整,因为控制台窗口可能有更多从缓冲区中删除的行。
无论如何,这是转储文件的链接(我手动添加了第一行以便在 Thread Dump Analyzer 中打开它):
有人可以帮助我理解这一点吗?
谢谢
java - jstack抛出异常询问核心
当我使用 jstack 来询问核心转储文件时,我得到了这个异常。我试过使用 sudo 但还是一样。
谢谢你的帮助。
java - jstack 文件中的 IN_NATIVE 是什么意思?
如上所示,我正在使用 jstack 来获取输出和调试,我用谷歌搜索了仍然没有得到明确的答案,谁能告诉我 jstack 输出文件中的 IN_NATIVE 状态是什么意思?
multithreading - 我需要一些帮助来理解 jstack 线程日志
有一个应用程序调用 JRE 1.7.0_80 来执行“添加屏幕截图”过程。这是唯一使用 JRE 的过程。
该应用程序的支持团队发现此功能在一段时间内运行良好,但在执行此操作 10 次左右后,它只是挂起,没有任何反应。
他们从挂起的 jp2launcher.exe 进程中获得了以下线程,我想获得一些帮助来解释它。
java - 以不同的用户原因执行 jstack 完全 GC
我以tomcat用户启动tomcat,并jstack
以root用户执行。我检查了 gc 日志,发现发生了 Full GC。
我搜索并找到sudo -u tomcat jstack -l <pid>
将解决问题。但是为什么带有root用户的jstack会导致full gc呢?
环境:
GC 日志
liferay - Liferay 模块(OSGi 包)停留在“Stopping”
有时当我停止我的 Liferay 模块时(例如,当我将其 JAR 的新版本放入时deploy/
),模块拒绝停止。
虽然模块应该进入“已解决”状态,但它永远处于“停止”状态:
通常是由于线程未在某处终止,或者网络连接未正确关闭,而且调查通常很痛苦。
我的问题:如何更有效地找出这个 Liferay 模块的问题是什么?
我尝试了什么:
- 在 Gogo Shell
diag <module id>
中似乎没有提供任何关于模块拒绝离开“停止”状态的有价值信息。 - jstack输出数千行,其中绝大多数在所讨论的 Liferay 模块之外。如果有一种方法可以仅为我的模块显示 jstack 信息,那就太好了。
regex - 如何删除中间的这条线?
我已经从服务器转储 JVM 线程。从转储中,我想使用正则表达式删除一些行。
我希望输出是这样的
有谁知道如何使用正则表达式来做到这一点?因为价值是动态的。请建议
multithreading - 如何通过 bash 命令打印线程的堆栈跟踪(带有线程 id)?
我会尝试监视在tail
命令之类的线程上执行的操作。它应该打印stackTrace
线程(其线程 id 已知)。
我可以打印当前在 java 进程下运行的所有线程的堆栈跟踪,如下所示
但我需要打印线程 id 已知的线程的堆栈跟踪。
非常欢迎这方面的任何帮助。提前致谢 :)
java - VisualVM thread dump not matched with heap dump?
I written a dead lock example code and then use VisualVM analyze it, I find that the object caused dead lock, its address is different between thread dump and heap dump.
The exmaple code is:
Then run the example code, Integer.valueOf(1)
and Integer.valueOf(2)
will cause dead lock. But those address are different between thread dump and heap dump.
The thread dump:
The heap dump:
But jstack
command result matchs heap dump:
So, why VisualVM's thread dump not match heap dump? Why jstack
result match VisualVM's heap dump?
Or, something wrong with me?
Thank you~~~
PS: I execute program again, and upload application snapshot, heap dump, thread dump and jstack log to Google Drive
java - 正常工作两周后 Jstack 失败
我已经基于 docker image dockerized tomcat 7.0.73 java:7-jdk
。
我有一项工作,每 5 分钟使用 command 进行线程转储jstack 1
。它正常工作大约两周,然后崩溃并显示消息:
Unable to open socket file: target process not responding or HotSpot VM not loaded. The -F option can be used when the target process is not responding
退出代码为 1。
这种行为的原因可能是什么?
JVM 继续正常工作。空间看起来也正确。
java -version
java version "1.7.0_111"
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-2~deb8u1)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-202:1-xxx 10G 1013M 9.1G 10% /
tmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/xvda1 99G 68G 31G 69% /tmp
shm 64M 0 64M 0% /dev/shm