18

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 ) でこれについてバグを報告しましたが、他の誰かがそれを見たのではないかと思っていました。

4

2 に答える 2

3

これは Oracle によってバグとして受け入れられたようです: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901

于 2012-07-28T22:03:29.163 に答える
1

同じ問題がありました。ミリ秒を 140 未満に減らしましたが、動作しているようです。mx を 400g のままにして、テスト プログラムを作成しました。

于 2012-08-08T15:40:48.843 に答える