我可以随意生成HPROF文件吗?
我有一个可疑的java进程。 我想看看使用各种HPROF分析工具的情况。
如何动态生成一个?
是。 您可以使用Sun的Java VM附带的jmap工具动态生成hprof文件(包含堆内存使用情况):
jmap -dump:file =
您必须使用正确的参数启动Java进程, 这些参数根据JVM版本的不同而有所不同。 然后,向进程发送QUIT
信号以生成新文件。
输出通常在VM退出时生成,但可以通过将“dump on exit”选项设置为“n”(doe = n)来禁用此输出。 此外,按下Ctrl- \或Ctrl-Break(取决于平台)时会生成配置文件。 在Solaris OS和Linux上,当收到QUIT信号时也会生成配置文件(kill -QUIT pid)。 如果多次按Ctrl- \或Ctrl-Break,则会为一个文件生成多个配置文件。
VisualVM可以帮助您深入了解您的流程正在做什么,包括在正在运行的流程上任意强制堆转储的能力。
jconsole现在能够为应用程序的当前工作目录创建转储。
- 连接到启用JMX的实例
- 导航到com.sun.management – > HotspotDiagnostic – > Operations
- 填写p0命名堆转储
- 按下heapDump按钮
Jconsole屏幕截图