我可以随意生成一个 HPROF 文件吗?

2022-09-01 09:31:47

我有一个Java进程,它的行为可疑。我想看看使用各种HPROF分析工具发生了什么。

如何动态生成一个?


答案 1

是的。您可以使用 jmap 工具动态生成 hprof 文件(包含堆内存使用情况),该工具随 Sun 的 Java VM 一起提供:

jmap -dump:file=<file_name> <pid>


答案 2

您必须使用正确的参数启动 Java 进程,这些参数因 JVM 版本而异。然后,向进程发送信号以生成新文件。QUIT

输出通常在 VM 退出时生成,但可以通过将“退出时转储”选项设置为“n”(doe=n)来禁用此功能。此外,在按下 Ctrl-\ 或 Ctrl-Break(取决于平台)时会生成配置文件。在 Solaris OS 和 Linux 上,当收到 QUIT 信号时,也会生成一个概要文件(kill -QUIT pid)。如果多次按下 Ctrl-\ 或 Ctrl-Break,则会为一个文件生成多个配置文件。


推荐