问题标签 [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.
java - java堆转储中那些奇怪的类名是什么意思?
我正在尝试使用jmap和jhat来追踪 Java 进程中的内存泄漏。每次我这样做时,我都会看到特定对象类型的那些奇怪的符号,例如[S
字符串数组和[C
字符数组。我不记得是什么意思,而且很难用谷歌搜索这些东西。
(编辑:为了证明我的观点,事实证明这[S
是一个短[C
数组并且是一个字符数组。)
有人愿意制作一张表格,列出所有不同的类名及其含义吗?或者把我指向这样的桌子?
具体我想知道是什么[Ljava.lang.Object;
意思。
java - 收集Java进程统计的最佳工具和JMAP的解释
我正在寻找收集更详细的java统计信息(纯文本格式),即jstat命令发出的统计信息——比如垃圾收集数据等。任何人都可以建议我最好的工具来收集java进程统计信息,比如jmap。
编辑
谷歌建议我使用jmap
with-histo:live
选项,但我无法理解它实际提供的信息。我正在使用的命令是
输出:
java - 使用 jmap 查找当前堆大小
我想知道 Java 进程在某个时间使用的总堆大小是多少,我必须使用jmap
.
的输出jmap -heap <pid>
给了我这样的东西:
我可以使用这些值的公式来找出使用的总内存吗?
欢迎其他关于如何在 Linux 上找到此问题的建议,但jmap
优先于它们。
谢谢
java - 无法在 Java 进程上转储堆
我有一个要调试的 java 进程。它的问题是它有太多打开的连接,所以运行 jmap 失败,因为它无法连接到进程。运行 jmap -F 会产生下一个错误:
可能是什么问题?是否可以在不重新启动进程的情况下解决(重新启动后错误可能会消失,所以我想避免它)。
java - 你如何从 Shell 强制垃圾收集?
所以我在一个远程盒子上查看一个带有 jmap 的堆,我想对其进行强制垃圾收集。你如何在不进入 jvisualvm 或 jconsole 和朋友的情况下做到这一点?
我知道您不应该进行强制垃圾收集的做法——您应该弄清楚为什么堆很大/正在增长。
我也意识到 System.GC() 实际上并没有强制垃圾收集——它只是告诉 GC 你希望它发生。
话虽如此,有没有办法轻松做到这一点?我缺少一些命令行应用程序?
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.
java - 有没有办法使用 ibm-jdk for linux 进行实时堆转储?
我知道当OutOfMemoryException
这个 JVM 上发生 an 时可以转储堆,但是是否可以使用jmap
或之类的工具询问实时转储jconsole
?
java - 我发现什么样的对象会导致内存泄漏,现在怎么办?
在正在运行的进程上使用该jmap -histo
命令,每 30 分钟左右,我发现一种明显是内存泄漏的对象(在桌面应用程序中)。
导致泄漏的对象(即实例数量随时间增长并且数量巨大的唯一一种对象)是int[]。
我怀疑BufferedImage
是罪魁祸首,但我不确定(我非常注意冲洗/无效BufferedImage
s 但我仍然认为这是泄漏的原因)。
但是我也在程序的另一部分使用 int[] ,我只是不确定泄漏的来源。的输出对jmap -histo
我来说有点太“薄”了。
我现在如何查明发生泄漏的int[]
位置。
顺便说一句,我想指出一个简单的方法有多棒jmap -histo
:我确信对于许多对象来说,只需查看使用的实例数量和内存就足以发现泄漏,而无需进一步分析。
但是在我的情况下,我需要别的东西。
我的问题不是什么样的工具可以发现泄漏。我的问题是:
知道我的应用程序(或我的应用程序正在使用的 API)正在泄漏int[],我可以采取哪些步骤(例如,使用您最喜欢的分析器)以希望找到泄漏?
该工具必须在 Java 1.5 OS X 10.4 Apple JVM 上运行。
jboss - 以编程方式获取类似 jmap(即堆使用)的信息?
我想以编程方式获取以下信息(尤其是当前使用情况),以便可以在应用程序的“健康状态”页面中显示它(是的,我知道它经常更改)。代码在 JBoss 5.1 中运行。
我检查了 JMX 控制台,希望有一个包含此信息的 MBean,但 javax.management.j2ee.statistics.Stats 的信息非常薄:
java - 执行 jmap 时 JVM 是否停止?
当 jmap 进行内存转储时,我的 java 应用程序是否继续运行?