Utilisation du ramasse-miettes à balayage simultané avec plus de 120 Go de RAM

Quelqu’un a-t-il réussi à utiliser le récupérateur de mémoire Concurrent Mark Sweep (UseConcMarkSweepGC) dans Hotspot avec plus de 120 Go de RAM?

La JVM démarre parfaitement si je règle les commandes -ms et -mx sur 120G, mais si je les règle sur 130G, la JVM se bloque au démarrage. La JVM démarre correctement avec les collecteurs parallèle et G1 (mais ils ont leurs propres problèmes).

Quelqu’un at-il réussi à utiliser le collecteur Concurrent Mark Sweep avec plus de 120 Go de mémoire? Si oui, avez-vous dû faire quelque chose de spécial ou suis-je simplement malchanceux ici?

La stack de la sauvegarde d’erreur JVM est la suivante:

Stack: [0x00007fbd0290d000,0x00007fbd02a0e000], sp=0x00007fbd02a0c758, free space=1021k Native frames: (J=comstackd 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 

J’ai soulevé un bogue pour cela avec Oracle ( http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901 ), mais je me demandais si quelqu’un d’autre l’avait vu.

Cela semble avoir été accepté comme un bug par Oracle: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901

Avait le même problème. Nous avons réduit ms à moins de 140 et cela semble fonctionner. Laissé mx à 400g et écrit un programme de test.