17得票2回答
使用JMAP生成堆转储时出现异常

当我使用jmap -F -dump:format=b,file=/tmp/heapdump/before.hprof 10737命令进行堆转储时,我会遇到以下异常:Attaching to process ID 10737, please wait... Exception in thread...

15得票1回答
如何解读“jmap -permstat”命令的输出?

我正在尝试解决PermGen泄漏的问题,并希望向您请教如何解释jmap -permstat命令的输出结果。 假设我有一个类似于以下示例的jmap -permstat报告:class_loader classes bytes parent_loader ali...

14得票3回答
共享对象内存与堆内存 - Java

'Shared Object Memory'和'Heap Memory'在Java中有什么区别?它们是否像'Shared Object Memory'是'Heap Memory'的超集一样? 这个问题的来源是jmap文档。它提供了不同的选项来打印'Shared Object Memory'和...

14得票2回答
在 jmap 中,“From Space” 和 “To Space” 的含义是什么?

我理解新生代/老年代/永久代的区别,但是我不知道"To Space"和"From Space"是什么。我看到我的"From Space"使用率达到了99.8%,而"To Space"似乎总是保持在0%使用率。

12得票3回答
想要确认Tomcat使用的堆大小

我使用的是Ubuntu系统,需要确认Tomcat是否在使用堆大小设置。 如何进行确认? 尝试使用jmap命令,但好像服务器上没有安装该命令,有没有办法单独下载它?

12得票2回答
使用jmap命令查找当前堆大小

我想知道使用jmap命令检查Java进程的堆大小,输出格式如下所示:jmap -heap <pid>。其中包含了堆配置和堆使用情况两部分信息。堆配置包括最小和最大堆空闲比率、最大堆大小、新生代大小、Eden空间大小、老年代大小等。堆使用情况包括了新生代和老年代的使用情况,其中新生代...

11得票5回答
Java:如何在不使用jmap或挂起应用程序的情况下获取堆转储

在某些情况下,我们的应用程序使用了大约12 GB的内存。我们尝试使用jmap实用程序获取堆转储。由于应用程序使用了一些GB的内存,它会导致应用程序停止响应并在生产中造成问题。 在我们的情况下,堆使用量突然从2-3 GB增加到12GB,需要在6小时内进行处理。为了找出内存使用趋势,我们尝试在重...

11得票2回答
Java堆转储权限

在Linux机器上生成的Java堆转储文件(很可能也适用于Unix机器)具有受限访问权限。堆只能被进程所有者读取(ACL掩码设置为600)。我理解这是出于安全原因。但是,我找不到任何参考或解释此行为的文档。是否有人可以指向文档(如果有的话)?此外,是否有办法覆盖这种行为?

11得票1回答
为什么jmap和jcmd生成的堆转储大小不同?

我正在尝试使用以下两个命令来获取堆转储: jcmd $pid GC.heap_dump /tmp/filename.dump jmap -dump:format=b,file=/tmp/filename.dump $pid jcmd生成的文件大小约为300M,而jmap生成的文件大小约...

10得票2回答
Java内存泄漏 - jmap不显示类,但jstat显示

我正在排查一个奇怪的内存泄漏问题。它仅在Java8中发生,在7u79上没有发生。我无法访问Java代码。我知道哪个用户操作会导致内存泄漏,我知道这个泄漏与类有关(而非堆),并且可以通过+TraceClassLoading +TraceClassUnloading轻松找到有问题的类:[Loade...