草庐IT

java - 哪个 JVM 打印出这样的线程转储?

我习惯于看到如下所示的Java线程转储,这是由SunHotSpotJVM及其衍生产品(例如OpenJDK)生成的线程转储:"main"prio=10tid=0x00007f4020009000nid=0x538cinObject.wait()[0x00007f402891f000]java.lang.Thread.State:WAITING(onobjectmonitor)atjava.lang.Object.wait(NativeMethod)-waitingon(ajava.lang.Object)atjava.lang.Object.wait(Object.java:503)at

java - 如何使用 JAVA 代码以编程方式捕获线程转储?

我想通过Java代码生成线程转储,我尝试为此使用ThreadMXBean,但我没有获得正确格式的线程转储,因为我们正在使用jstack命令。请任何人提供一些帮助..他们是否有其他获取线程转储的方法...使用任何其他API..我想要的线程转储格式是-2015-08-0605:51:15FullthreaddumpJavaHotSpot(TM)64-BitServerVM(24.51-b03mixedmode):"AttachListener"daemonprio=10tid=0x00007fdab805d800nid=0x7a36waitingoncondition[0x00000000

java - 日志中充满了 httpclient.wire.content 转储。我怎样才能把它关掉?

我的catalina日志中充满了如下语句:/logs/catalina.out:2010-05-0502:57:19,611[Thread-19]DEBUGhttpclient.wire.content->>"[0x4][0xc][0xd9][0xf4][0xa2]MA[0xed][0xc2][0x93][0x1b][0x15][0xfe],[0xe]h[0xb0][0x1f][0xff][0xd6][0xfb][0x8f]O[0xd4][0xc4]0[0xab][0x80][0xe8][0xe4][0xf2][\r]I&[0xaa][0xd2]BQ[0xdb](zq[0xcd]ac[

java - 线程转储分析器

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion你知道一些好的线程转储分析器工具吗?完美的是:免费可以阅读一些线程转储并进行比较指出哪些线程花费的时间最长,线程被锁定在哪些类上等。显示线程、锁、死锁和等待获取单个锁的多个线程编辑:离线分析-使用一个或多个线程转储加载文件并对其进行分析。编辑:我的选择是:武士。它具有我需要的所有功能:加载日志文件,并比较几个线程转储。分析一下并指出:等待线程阻塞线程阻塞线程僵局我会将

java - eclipse 内存分析器看到整个堆转储 (8GB) 的一小部分 (363,2MB)

我试图调查java.lang.OutOfMemoryError:GClimitexceeded这发生在我们部署在tomcat中的网络应用程序的高负载时。堆大小设置为8GB(-Xms2048m-Xmx8192m)在某个时间点,由于GCActivity开销,我们的应用程序变得无响应。我可以在日志中看到FullGC连续发生了多次。所以我使用以下命令(jmap-F-dump:format=b,file=/root/dump2.hprof4963)进行了堆转储。包含转储的文件大小为9GB。在进行转储后(应用程序被卡住了大约45分钟),发生了多次完整的GC,直到抛出OutOfMemoryError

java - 如何通过 JMX 创建线程转储?

我有一个作为Windows服务运行的Tomcat,但众所周知它们不能很好地与jstack一起工作。另一方面,jconsole运行良好,我可以看到单个线程的堆栈(我正在连接到“localhost:port”以访问它)。如何使用jconsole或类似工具将所有线程堆栈转储到文件中?(类似于jstack) 最佳答案 您可以使用ThreadMXBean管理界面。这FullThreadDump类演示了获取完整线程转储以及使用JMX远程检测死锁的能力。 关于java-如何通过JMX创建线程转储?,我

java - 我可以将 hprof/jmap 转储与 VisualVM 进行比较吗?

当我尝试用它分析我们的应用程序时,VisualVM崩溃了,但是如果我可以将我从我们的应用程序完成的jmap内存转储加载到VisualVM中,我可能无需将VisualVM附加到我们的应用程序就可以获得我需要的答案在运行时。那么,有没有办法做到这一点? 最佳答案 打开VisualVM,单击File->Load..并选择您的jmap文件。如果没有加载,我猜你的文件有问题。 关于java-我可以将hprof/jmap转储与VisualVM进行比较吗?,我们在StackOverflow上找到一个类

Java VisualVM 在 OOME 上启用堆转储

根据documentation当应用程序遇到OutOfMemoryException时,可以自动进行堆转储。OutOfMemoryException进程从左侧菜单中消失。此功能在VisualVM中如何工作?谢谢。C:\work\temp>java-XX:HeapDumpPath=c:/work/temp/file.hprof-XX:+HeapDumpOnOutOfMemoryError-jarexample.jar 最佳答案 据我所知,JVisualVM中的该选项等同于将-XX:+HeapDumpOnOutOfMemoryError

java - 以编程方式进行线程转储/JDI(Java 调试器接口(interface))

我喜欢以编程方式生成线程转储。我了解到基本上有两种方法可以做到这一点:使用“Java虚拟机工具接口(interface)”JVM-TI使用更高抽象的“Java调试器接口(interface)”JDI对于JVM-TI,我能够找到一些有用的信息,但我必须编写一个JNI-DLL,至少目前我想避免这样做。通过JDI,我可以使用Java,而且我似乎可以在应用程序中使用它。但是我找不到它的某种教程或HOWTO。我能找到的唯一文档是Java文档http://java.sun.com/j2se/1.5.0/docs/guide/jpda/jdi/这不是很有帮助,因为它没有告诉我如何使用这些类。那么,有

java - 比较 java 内存堆转储 : Memory profiling for Java desktop application

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。这是一个更具体的问题,需要跟进anotherquestionthatIhaveaskedrecently.此问题的正确答案也将获得前一个问题的正确答案(因为它仍处于不确定状态)!基本上,我有一个存在内存泄漏问题的Java桌面应用程序。我正在使用NetbeansIDE中的内存分析器来分析内存问题。这些是我到目前为止已采取的步骤:将新的内存分析器附加到Netb