java - 使用超过 120GB RAM 的 Concurrent Mark Sweep 垃圾收集器

标签 java garbage-collection jvm jvm-hotspot concurrent-mark-sweep

有没有人设法在超过 120GB RAM 的 Hotspot 中使用 Concurrent Mark Sweep 垃圾收集器 (UseConcMarkSweepGC)?

如果我将 -ms 和 -mx 设置为 120G,JVM 可以正常启动,但如果我将它们设置为 130G,JVM 会在启动时崩溃。 JVM 使用并行和 G1 收集器启动良好(但它们有自己的问题)。

有没有人设法在超过 120GB 的堆上使用 Concurrent Mark Sweep 收集器?如果是这样,您是否需要做任何特别的事情,还是我在这里运气不好?

JVM 错误转储的堆栈如下:

Stack: [0x00007fbd0290d000,0x00007fbd02a0e000],  sp=0x00007fbd02a0c758,  free space=1021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x822c0]  __tls_get_addr@@GLIBC_2.3+0x822c0
V  [libjvm.so+0x389c01]      CompactibleFreeListSpace::CompactibleFreeListSpace(BlockOffsetSharedArray*, MemRegion, bool, FreeBlockDictionary::DictionaryChoice)+0xc1
V  [libjvm.so+0x3d1ae0]  ConcurrentMarkSweepGeneration::ConcurrentMarkSweepGeneration(ReservedSpace, unsigned long, int, CardTableRS*, bool, FreeBlockDictionary::DictionaryChoice)+0x100
V  [libjvm.so+0x49d922]  GenerationSpec::init(ReservedSpace, int, GenRemSet*)+0xf2
V  [libjvm.so+0x48d0b9]  GenCollectedHeap::initialize()+0x2e9
V  [libjvm.so+0x824098]  Universe::initialize_heap()+0xb8
V  [libjvm.so+0x82657d]  universe_init()+0x7d
V  [libjvm.so+0x4cf0dd]  init_globals()+0x5d
V  [libjvm.so+0x80f462]  Threads::create_vm(JavaVMInitArgs*, bool*)+0x1e2
V  [libjvm.so+0x51fac4]  JNI_CreateJavaVM+0x74
C  [libjli.so+0x31b7]  JavaMain+0x97

我已经用 Oracle ( http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901 ) 提出了一个错误,但我想知道是否有其他人看到它。

最佳答案

这似乎已被 Oracle 接受为错误:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901

关于java - 使用超过 120GB RAM 的 Concurrent Mark Sweep 垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11074608/

相关文章:

java - 如何更改 Wicket 中 AjaxEditableLabelColumn 单元格的颜色

java - 是否可以根据页面属性切换到 Sling Selector Script

java - 使用最新 java 版本重新编译旧 java 项目的性能优势

java - JVM 是否保证缓存非 volatile 变量?

java - SetWindowDisplayAffinity 失败并出现错误 "Access denied"

java - 如何对 ArrayList<ArrayList<String>> 进行排序?

java - 内存不足且 CPU 消耗低

c# - GC 收集...什么?

.NET 垃圾收集 - 它会影响什么?

java - 如何以编程方式确定 JVM 中可用的资源限制?