我有一个行为可疑的 java 进程。我想看看使用各种 HPROF 分析工具的情况。
如何即时生成一个?
是的。您可以使用 Sun 的 Java VM 附带的 jmap 工具即时生成 hprof 文件(包含堆内存使用情况):
jmap -dump:file=<文件名> <pid>
您必须使用正确的参数启动 Java 进程,这取决于 JVM 版本。然后,向进程发送QUIT
信号以生成新文件。
输出通常在 VM 退出时生成,尽管可以通过将“退出时转储”选项设置为“n”(doe=n)来禁用此输出。此外,当按下 Ctrl-\ 或 Ctrl-Break(取决于平台)时,会生成一个配置文件。在 Solaris OS 和 Linux 上,还会在收到 QUIT 信号时生成配置文件 (kill -QUIT pid)。如果多次按下 Ctrl-\ 或 Ctrl-Break,则会为一个文件生成多个配置文件。
VisualVM可以帮助您深入了解您的进程正在做什么,包括在正在运行的进程上任意强制堆转储的能力。
jconsole 现在能够创建到应用程序当前工作目录的转储。