Java VisualVM堆空间转储到输出路径

时间:2014-01-31 15:56:36

标签: java dump visualvm

我需要知道是否可以在java visualVM中声明堆空间转储的输出路径。我可以使用任何参数用于java visual VM吗?

我必须在服务器上跟踪特定服务,并且需要转储堆空间。

感谢。

更新

非常感谢。我找到了解决问题的方法。我用jmx remote连接到我的服务。可以将heapdump保存在服务器的任何其他驱动器上。

3 个答案:

答案 0 :(得分:4)

您可以使用以下visualvm.tmpdir系统属性来更改目录,其中VisualVM存储快照,线程转储和堆转储。用法:

visualvm -J-Dvisualvm.tmpdir=[custom_tmp_dir]

答案 1 :(得分:2)

对于VisualVM 1.4.4,etc/visualvm.conf中需要以下设置:

visualvm_default_userdir="<set-your-path>"
visualvm_default_options="<...> -J-Djava.io.tmpdir=<set-your-path>"
  • visualvm_default_userdir将其设置为基于 jmx 的堆转储。
  • visualvm_default_options将其设置为基于进程的堆转储。

答案 2 :(得分:1)

您可以更改VisualVM在/etc/visualvm.conf文件中使用的临时目录的位置,如下所示:

    visualvm_default_options=" ...  -J-Djava.io.tmpdir=<PATH> -J-Dvisualvm.tmpdir=<THE SAME PATH>"