我已经运行了很多实验(几个月的cpu时间),在我的日志中有以下警告:
Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for
shared memory file
实验终止没有错误,但现在我想知道我可能,也可能不会从他们那里评估.所以:
Java HotSpot*享内存文件空间不足的影响是什么?
细节:
我所发现的关于共享内存文件的所有内容都是http://openjdk.java.net/groups/hotspot/docs/Serviceability.html.从这看起来,共享内存文件的缺乏似乎对我的实验影响不大:)我没有使用分析器等来评估我的实验,但只是我已成功创建的日志文件.
我测量函数foo()的调用频率.缺少共享内存文件会改变我的程序的功能行为,所以我不应该从实验中评估这个吗?
此外,我测量运行时和内存要求. JVM的性能是否发生变化,以至于我不应该从实验中评估这一点?
最后,我有实验,我运行我的算法的分布式版本. JVM的性能是否会发生强烈变化,如果某些但不是所有并行实例的共享内存文件丢失,则并行功能行为会发生变化?
解决方法:
此警告意味着JVM无法使用内存映射文件hsperfdata for HotSpot Performance Counters.在这种情况下,JVM回退到性能计数器的标准(非共享)内存,就像指定-XX:PerfDisableSharedMem一样.
这将阻止jps,JConsole或VisualVM等实用程序自动发现JVM. jstat不起作用.否则应用程序不受影响.运行时性能不会更改.