Java HotSpot 共享内存文件 space 不足有什么影响?

What's the impact of insufficient space for shared memory file in Java HotSpot?

我有 运行 很多实验(几个月的 cpu 时间),我的日志中有以下警告:

Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file

实验没有错误地终止了,但现在我想知道我可以从中评估什么,也可以不评估什么。所以:

Java HotSpot 共享内存文件 space 不足有什么影响?


详情:

关于共享内存文件,我只找到了 http://openjdk.java.net/groups/hotspot/docs/Serviceability.html。由此看来,缺少共享内存文件似乎对我的实验影响不大 :) 我不使用分析器或类似工具来评估我的实验,而只使用我成功创建的日志文件。

我测量调用函数 foo() 的频率。缺少共享内存文件是否会改变我程序的功能行为,以至于我不应该从实验中对此进行评估?

此外,我测量了 运行 时间和内存需求。 JVM 的性能是否发生了变化,以至于我不应该从实验中对此进行评估?

最后,我进行了实验,其中 运行 我的算法的分布式版本。 JVM 的性能是否会发生强烈变化,以至于如果我的某些但不是所有并行实例的共享内存文件丢失,并行功能行为也会发生变化?

此警告意味着 JVM 无法将内存映射文件 hsperfdata 用于 HotSpot Performance Counters。在这种情况下,JVM 回退到标准(非共享)内存作为性能计数器,就好像指定了 -XX:+PerfDisableSharedMem

这将防止 JVM 被 jpsJConsoleVisualVM 等实用程序自动发现。 jstat 行不通。应用程序不受影响。运行时性能没有改变。