简体   繁体   English

从堆转储中提取线程转储

[英]Extract thread dump from a heap dump

I have a huge heap dump (around 12GB) and it will take forever to open it with MAT or jvisualvm .我有一个巨大的堆转储(大约 12GB),使用MATjvisualvm打开它需要很jvisualvm I only want to get the thread dump out of it without indexing the objects.我只想在不索引对象的情况下从中获取线程转储。 Is it possible with the above or any other tools?是否可以使用上述或任何其他工具?

Had the same problem recently.最近有同样的问题。

I just pushed the project doing it on GitHub.我只是在 GitHub 上推动了这个项目。 I know, it is way too late, but probably will save some time to someone in future.我知道,为时已晚,但将来可能会为某人节省一些时间。

https://github.com/aafomin/obadiah https://github.com/aafomin/obadiah

The latest snapshot versions of Memory Analyzer (preview of 1.11) have the ability to discard objects on parse.内存分析器的最新快照版本(1.11 预览版)能够在解析时丢弃对象。 Having a discard ratio of 100% with a pattern of (?!. Thread).具有 (?!. Thread)模式的丢弃率为 100% would discard all objects except those of a type with 'Thread' in the classname.将丢弃除类名中带有 'Thread' 类型的对象之外的所有对象。 That might speed up parsing, though the parsed dump would be nearly useless, but it would have a thread dump (but without thread names or local variables) which might be enough for your purposes.这可能会加快解析速度,尽管解析后的转储几乎没有用,但它会有一个线程转储(但没有线程名称或局部变量),这可能足以满足您的目的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM