问题标签 [jmap]

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.

0 投票
4 回答
18743 浏览

java - java堆转储中那些奇怪的类名是什么意思?

我正在尝试使用jmapjhat来追踪 Java 进程中的内存泄漏。每次我这样做时,我都会看到特定对象类型的那些奇怪的符号,例如[S字符串数组和[C字符数组。我不记得是什么意思,而且很难用谷歌搜索这些东西。

编辑:为了证明我的观点,事实证明这[S是一个短[C数组并且是一个字符数组。)

有人愿意制作一张表格,列出所有不同的类名及其含义吗?或者把我指向这样的桌子?

具体我想知道是什么[Ljava.lang.Object;意思。

0 投票
2 回答
2052 浏览

java - 收集Java进程统计的最佳工具和JMAP的解释

我正在寻找收集更详细的java统计信息(纯文本格式),即jstat命令发出的统计信息——比如垃圾收集数据等。任何人都可以建议我最好的工具来收集java进程统计信息,比如jmap。

编辑

谷歌建议我使用jmapwith-histo:live选项,但我无法理解它实际提供的信息。我正在使用的命令是

输出:

0 投票
2 回答
31302 浏览

java - 使用 jmap 查找当前堆大小

我想知道 Java 进程在某个时间使用的总堆大小是多少,我必须使用jmap.

的输出jmap -heap <pid>给了我这样的东西:

我可以使用这些值的公式来找出使用的总内存吗?

欢迎其他关于如何在 Linux 上找到此问题的建议,但jmap优先于它们。

谢谢

0 投票
3 回答
2347 浏览

java - 无法在 Java 进程上转储堆

我有一个要调试的 java 进程。它的问题是它有太多打开的连接,所以运行 jmap 失败,因为它无法连接到进程。运行 jmap -F 会产生下一个错误:

可能是什么问题?是否可以在不重新启动进程的情况下解决(重新启动后错误可能会消失,所以我想避免它)。

0 投票
12 回答
111450 浏览

java - 你如何从 Shell 强制垃圾收集?

所以我在一个远程盒子上查看一个带有 jmap 的堆,我想对其进行强制垃圾收集。你如何在不进入 jvisualvm 或 jconsole 和朋友的情况下做到这一点?

我知道您不应该进行强制垃圾收集的做法——您应该弄清楚为什么堆很大/正在增长。

我也意识到 System.GC() 实际上并没有强制垃圾收集——它只是告诉 GC 你希望它发生。

话虽如此,有没有办法轻松做到这一点?我缺少一些命令行应用程序?

0 投票
1 回答
144 浏览

webserver - Using JMAP on Sun WebServer 6.1 Instance

I have a webapp running on Sun One WebServer and I would like to use jmap to dump the heap space memory. When I list the processes running on my server, no java processes are listed, but only webservd processes (controlled by Sun WebServer).

How do I use jmap with Sun WebServer 6.1 servers? I don't have access to the jvm's pid....

The syntax which I would like to use is:

where PID is the missing piece of information.

0 投票
4 回答
9275 浏览

java - 有没有办法使用 ibm-jdk for linux 进行实时堆转储?

我知道当OutOfMemoryException这个 JVM 上发生 an 时可以转储堆,但是是否可以使用jmap或之类的工具询问实时转储jconsole

0 投票
2 回答
351 浏览

java - 我发现什么样的对象会导致内存泄漏,现在怎么办?

在正在运行的进程上使用该jmap -histo命令,每 30 分钟左右,我发现一种明显是内存泄漏的对象(在桌面应用程序中)。

导致泄漏的对象(实例数量随时间增长并且数量巨大的唯一一种对象)是int[]

我怀疑BufferedImage是罪魁祸首,但我不确定(我非常注意冲洗/无效BufferedImages 但我仍然认为这是泄漏的原因)。

但是我也在程序的另一部分使用 int[] ,我只是不确定泄漏的来源。的输出对jmap -histo我来说有点太“薄”了。

我现在如何查明发生泄漏的int[]位置。

顺便说一句,我想指出一个简单的方法有多棒jmap -histo:我确信对于许多对象来说,只需查看使用的实例数量和内存就足以发现泄漏,而无需进一步分析。

但是在我的情况下,我需要别的东西。

我的问题不是什么样的工具可以发现泄漏。我的问题是:

知道我的应用程序(或我的应用程序正在使用的 API)正在泄漏int[],我可以采取哪些步骤(例如,使用您最喜欢的分析器)以希望找到泄漏?

该工具必须在 Java 1.5 OS X 10.4 Apple JVM 上运行。

0 投票
1 回答
766 浏览

jboss - 以编程方式获取类似 jmap(即堆使用)的信息?

我想以编程方式获取以下信息(尤其是当前使用情况),以便可以在应用程序的“健康状态”页面中显示它(是的,我知道它经常更改)。代码在 JBoss 5.1 中运行。

我检查了 JMX 控制台,希望有一个包含此信息的 MBean,但 javax.management.j2ee.statistics.Stats 的信息非常薄:

0 投票
3 回答
15593 浏览

java - 执行 jmap 时 JVM 是否停止?

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