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

===============>>#1 票数:32 已采纳

尝试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 票数:31

使用JVM选项-XX:-UsePerfData

正如其他一些答案所说,这不会对绩效产生负面影响。

默认情况下,在HotSpot JVM中打开jvmstat检测。 JVM选项-XX:-UsePerfData将其关闭。 如果有的话,我会推测,关闭仪器将提高性能(一个微不足道的数量)。

因此,关闭jvmstat检测的缺点是您丢失了性能监视信息。

jvmstat在这里描述http://java.sun.com/performance/jvmstat/

下面是与某人线程谁是担心由jvmstat 打开 -用选项-XX:+UsePerfData -会伤害性能。 http://www.theserverside.com/discussions/thread.tss?thread_id=33833
(可能不会因为jvmstat被设计为“'始终开启',但对性能的影响可以忽略不计”。)

===============>>#3 票数:4

不要将其关闭,而是更改java.io.tmpdir位置。 将-Djava.io.tmpdir = / mydir / somewhere / else /添加到Java启动命令,然后该文件将在您控制的某个位置。


请注意@simonc的注释:这仅适用于JVM的几个版本,不再受支持。 http://bugs.sun.com/view_bug.do?bug_id=6447182http://bugs.sun.com/view_bug.do?bug_id=6938627http://bugs.sun.com/view_bug.do ?bug_id = 7009828获取更多信息。

===============>>#4 票数:1

还有"-XX:+PerfDisableSharedMem"选项(由Sun推荐),与使用"-XX:-UsePerfData"选项相比,它应该导致更少的性能问题。

===============>>#5 票数:1

作为Mack回复的补遗(于2011年3月25日17:12回答),自Java 8以来,java.tmp.dir选项看起来不再可用了。请参阅https://bugs.java.com/view_bug上的信息。怎么办?bug_id = 8189674

因此,使用-XX禁用该选项:-UsePerfData似乎是不拥有hsperfdata_ *文件的唯一选择。

===============>>#6 票数:1

编辑:清理信息和总结

摘要:

  • 它的一个功能,而不是一个bug
  • 可以使用-XX:-UsePerfData进行转换,这可能会影响性能

相关信息:

===============>>#7 票数:1

来自svrist的链接:

http://java.sun.com/performance/jvmstat/faq.html中的第一项提到了一个可以关闭以禁用整套功能的选项:-XX:-UsePerfData。

===============>>#8 票数:1

根据提交的错误报告,有一个解决方法:

此未记录的选项将禁用perfdata功能:
-XX:-UsePerfData

值得一提的是,这是一个功能,而不是一个bug。 以上解决方法只是禁用该功能。

  ask by c-had translate from so

未解决问题?本站智能推荐:

1回复

如何创建带有选项的报告以在Java中进行打印和查看

我正在参加桌面应用程序编程竞赛,因此选择使用Java,因为它是我到目前为止所学的唯一语言(我是一名高中学生)。 竞争是设计一个桌面应用程序,使用户可以输入俱乐部成员的记录(姓名,加入日期等),并将其存储在主文件中。 我通过创建类型为Student的对象并将对象写入文本文件以保存它们来处理主文
2回复

使用Java创建报表而不使用数据库

有没有一种简单的方法可以在不使用数据库(例如SQL)的情况下使用Java创建报告? 我想要做的是在对象的ArrayList中获取多个字符串,然后将它们放在可打印的报告中。 此外,我想将逗号分隔文件中的值放入可打印的报表中。 我找到了这个JavaDoc,但是根据我的了解,不可能使用此Ja
3回复

使用Java中的字符串创建报告

在我的项目中,我使用了很多字符串来创建报告。 是否有任何库或API可以用Java创建时尚的报告(PDF)? 我尝试使用Jasper报告,但是它只能从mySQL数据库创建报告。
2回复

如何在Java Web项目中创建报告?

我需要在某些页面上具有预览和打印选项,以便打印一些包含信息的表。 是否可以创建一个包含页眉和页脚以及html表中包含的信息的模板页面? 这是我第一次这样做。 我曾经在c#中使用过Crystal Reports。 是否有适用于Java的类似插件/ SDK? 如果是这样,我该怎么做
3回复

Java应用程序可以在LibreOffice中创建报告吗?

我一直在研究LibreOffice Base,印象深刻的是他们有报告模板。 所以现在我想知道,我的Java应用程序可以调用LibreOffice并生成报告吗? 是否可以传递报告所需的参数?
1回复

如何在java桌面应用程序中创建动态报表

我正在创建java桌面应用程序。 在应用程序中,我想创建许多具有不同参数的报告。 哪个框架易于使用,并支持桌面应用程序。我是这个概念的新手。
1回复

从Java中的XML输出创建可读报告(PDF)

我正在尝试制作一个能够从某个工具导入XML输出文件并将其“转换”为漂亮的PDF报告的工具,该报告以普通人可以理解的语言总结出一些内容。 输出文件始终包含特定的数据,但我只希望我的应用程序自动创建一个报告,对于不熟悉技术的人来说,阅读该报告并不难。 我知道不可能完全自动化,所以我想我必
1回复

通过Java代码使用JasperReports创建PDF报告时出现Unicode问题

我开发基于Spring的Web应用程序,该应用程序使用JasperReports Library 5.0.0创建报告。 首先,当我使用iReport 4.5.1设计报表时遇到了Unicode字符问题。 我在这里发现了这个问题,解决方案正在使用字体扩展。 我按照此处所述进行了所有操作 (“创
1回复

创建一个Java报告项目-想使用JUnit和Ant,但不确定如何

我对使用JUnit为公司中的某些(非软件)工程师组生成报告感兴趣。 与确保对象,方法等没有错误的典型JUnit测试不同,我想使用JUnit来确认大型日志文件中的结果是否在范围内并提供报告。 我的背景:经验丰富的Java。 我熟悉JUnit 4,我花了最后一两个小时来阅读ANT文档,我认
1回复

在JAVA中读取多个文件以处理文本并生成报告

我目前正在开发一个框架,在该框架中我们确实执行一些Java执行,到目前为止,我们必须手动编写Java代码并执行它。 为了使我们的生活更简单,我们正在尝试生成一个框架,在该框架中,用户将用纯英语在文本文件中编写其必须执行的内容,例如Sum | 2+3 Sum | 2+3 。 现在,这些键的定