如何防止Java创建hsperfdata文件?
2022-08-31 20:57:28
我正在编写一个在Linux上运行的Java应用程序(使用Sun的JDK)。它不断创建目录,我想防止这种情况。有没有办法阻止java创建这些文件?/tmp/hsperfdata_username
我正在编写一个在Linux上运行的Java应用程序(使用Sun的JDK)。它不断创建目录,我想防止这种情况。有没有办法阻止java创建这些文件?/tmp/hsperfdata_username
试用 JVM 选项 -XX:-UsePerfData
以下内容可能会有所帮助,来自链接 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
-XX:+UsePerfData
Enables the perfdata feature. This option is enabled by default
to allow JVM monitoring and performance testing. Disabling it
suppresses the creation of the hsperfdata_userid directories.
To disable the perfdata feature, specify -XX:-UsePerfData.
使用 JVM 选项 -XX:-UsePerfData
。
这不会像其他一些答案所说的那样对性能产生负面影响。
默认情况下,jvmstat 工具在 HotSpot JVM 中处于打开状态。JVM 选项将其关闭。如果有的话,我会推测,关闭检测将提高性能(微不足道)。-XX:-UsePerfData
因此,关闭 jvmstat 工具的缺点是丢失了性能监视信息。
jvmstat 在这里描述 http://java.sun.com/performance/jvmstat/
这是一个线程,有人担心通过打开jvmstat - 与选项 - 会损害性能。http://www.theserverside.com/discussions/thread.tss?thread_id=33833
(它可能不会,因为jvmstat被设计为“'始终打开',但性能影响可以忽略不计”。-XX:+UsePerfData