我已经运行了很多实验(几个月的cpu时间),我的日志中有以下警告:
Java HotSpot(TM)64位服务器VM警告:空间不足 共享内存文件
实验终止没有错误,但现在我想知道我可能会,也可能不会从中评估。所以:
Java HotSpot中共享内存文件空间不足的影响是什么?
详细信息:
我发现共享内存文件的所有内容都是http://openjdk.java.net/groups/hotspot/docs/Serviceability.html。从这看起来,共享内存文件的缺乏似乎对我的实验几乎没有影响:)我不使用分析器等来评估我的实验,而只使用我已成功创建的日志文件。
我衡量调用函数foo()
的频率。缺少共享内存文件会改变我的程序的功能行为,所以我不应该从实验中评估这个吗?
此外,我测量运行时和内存要求。 JVM的性能是否发生变化,以至于我不应该从实验中评估这一点?
最后,我有实验,我运行我的算法的分布式版本。 JVM的性能是否会发生强烈变化,以便在某些但不是所有并行实例中缺少共享内存文件时,并行功能行为会发生变化?
答案 0 :(得分:7)
此警告表示JVM无法为HotSpot Performance Counters使用内存映射文件hsperfdata
。在这种情况下,JVM回退到性能计数器的标准(非共享)内存,就像指定了-XX:+PerfDisableSharedMem
一样。
这将阻止jps
,JConsole
或VisualVM
等实用程序自动发现JVM。 jstat
无效。否则应用程序不受影响。运行时性能不会改变。