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