135得票12回答
如何从Shell中强制执行垃圾回收?

我正在使用远程jmap查看堆栈,我想在其中强制进行垃圾回收。不使用jvisualvm或jconsole等工具如何实现? 我知道不应该频繁强制进行垃圾回收,而是要找出为什么堆栈会变得如此庞大。 同时我也明白System.GC()并不能真正强制进行垃圾回收,它只是通知垃圾回收器你希望进行回收。...

81得票8回答
我该如何在IntelliJ中分析堆转储文件?(内存泄漏)

我使用 jmap 工具从我的Java应用程序中生成了一个堆转储,该应用程序已经运行了几天 -> 这导致了一个大的二进制堆转储文件。 如何在 IntelliJ IDEA 中对此堆转储执行内存分析? 我知道 Eclipse 和 Netbeans 有工具,但如果可能的话,我宁愿使用 IDEA。 基本...

66得票8回答
如何使用Java中的jmap分析堆转储

我正在使用以下命令创建堆转储: jmap -dump:file=DumpFile.txt <process-id> 我已经打开了生成的文件 - DumpFile.txt,但它不是可读格式。因此,请告诉我如何分析生成文件中的数据。

43得票1回答
jmap直方图中的这些对象是什么?

我正在使用jmap获取堆的直方图。 我不确定被称为“[C”,“[S”,“[I”和“[B”的对象是什么。 有人知道吗?$ jmap -histo 3299 num #instances #bytes class name ----------------------...

41得票4回答
在Java堆转储中,那些奇怪的类名是什么意思?

我正在尝试使用jmap和jhat追踪Java进程中的内存泄漏。每次这样做时,我都会看到特定对象类型的奇怪符号表示,比如[S表示字符串数组,[C表示字符数组。我从来不记得什么意思,而且很难通过谷歌查找相关信息。 (编辑:为了证明我的观点,结果发现[S是short数组,[C是char数组。) ...

34得票1回答
当使用live选项时,jmap是否强制进行垃圾回收?

我今天在尝试使用 jmap -histo 和 jmap -dump。 当按照此顺序运行时:jmap -dump:format=b,file=heap.1 [pid] jmap -dump:live,format=b,file=heap.2 [pid] jmap -dump:format=b,...

27得票5回答
连接进程出错: sun.jvm.hotspot.debugger.DebuggerException: 无法打开二进制文件

当我使用jmap获取一个进程的堆信息时,出现了如下错误: $jmap -heap process_id Attaching to process ID process_id, please wait... Error attaching to process: sun.jvm.hotspo...

23得票2回答
为什么我的Java堆转储大小比已使用的内存要小得多?

问题 我们正在尝试找到我们Web应用程序中一个大的内存泄漏的罪魁祸首。我们对于查找内存泄漏的经验非常有限,但是我们找到了如何使用jmap制作Java堆转储文件并在Eclipse MAT中进行分析。 然而,当我们的应用程序使用56/60GB内存时,堆转储文件只有16GB大小,甚至在Eclip...

20得票3回答
执行jmap时,JVM是否会停止?

当 jmap 正在进行内存转储时,我的 Java 应用程序是否会继续运行?

19得票3回答
使用gcore生成核心转储文件后,将其转换为hprof文件格式时,出现错误信息。

我们最近遇到了一个JVM崩溃的情况,留下了由gcore命令产生的核心转储文件。我们想查看文件内容并找出导致崩溃的原因。 使用jmap命令,您可以将核心转储文件转换为hprof文件格式,然后可以使用VisualVM和许多其他工具进行分析。我尝试过这样做,并收到了错误消息。这是我运行的命令(在发...