【问题标题】:How to use jmap heapjmap堆的使用方法
【发布时间】:2020-12-10 06:15:07
【问题描述】:

我在教程中看到,使用命令jmap -heap<pid>,我可以接收有关堆状态的信息。

现在此命令不可用。

只有jmap -dump:live,format:b,file=heap.bin,但它会将数据保存为不可读的bin格式。

如何使用jmap 接收堆状态信息到控制台?

*在 Windows 上

更新。 我找到了答案: 在新版本的 Jdk 上,我们可以使用命令:

jhsdb jmap --heap --pid

【问题讨论】:

  • 你是在Unix平台上运行的吗?
  • 不,在 Windows 上。

标签: java jvm jmap


【解决方案1】:

如果您在 Unix/Linux 平台上运行,请执行以下命令以生成堆转储。

kill -3 <PID of the Java Process>

生成的堆转储文件将在执行命令的用户的主目录中,或者在 jar 文件的绝对路径中。

【讨论】:

    【解决方案2】:

    你可以用https://www.eclipse.org/mat/分析jmap -dump:live,format:b,file=heap.bin生成的heapdump。 MAT 能够读取二进制格式。

    【讨论】:

    【解决方案3】:

    我找到了答案。 在新的 JDK 版本中它可以工作:

    jhsdb jmap --heap --pid <pid number>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      相关资源
      最近更新 更多