在 Linux 上指定 JVisualVM 堆转储文件位置

Specify JVisualVM Heap Dump File Location on Linux

JVisualVM 堆转储文件在 Linux 中的默认位置是 /tmp/ 目录。由于我的开发机器的限制,以及我的应用程序 /tmp/ 的资源使用量不够大,无法捕获文件。有没有办法将其设置为 JVisualVM 中的参数?

我正在寻找类似的东西:

./jvisualvm --heaplocation /my/desired/location

我使用以下方法创建了指向默认位置的符号链接:

ln -sf /my/desired/location/visualvm.dat

然而,这是一个丑陋的 hack。有什么建议吗?

您可以在文件中指定它 ${VISUALVM_HOME}/etc/visualvm.conf

搜索以visualvm_default_options开头的行并将设置添加到行尾(必须在双引号之间)。

visualvm_default_options="... -J-Dvisualvm.tmpdir=/where/you/want"

注意 ... 是现有设置的占位符

信息取自 属性 VISUALVM_TMP_DIR 中的 class Storage.java