如何防止Java创建hsperfdata文件?

2022-08-31 20:57:28

我正在编写一个在Linux上运行的Java应用程序(使用Sun的JDK)。它不断创建目录,我想防止这种情况。有没有办法阻止java创建这些文件?/tmp/hsperfdata_username


答案 1

试用 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.

答案 2

使用 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


推荐