18

Czy ktoś zdołał korzystać z sortownika odpadów współbieżnych (UseConcMarkSweepGC) w Hotspot z ponad 120 GB pamięci RAM?Używanie współbieżnego sortowania śmieci Śmieciarki z ponad 120 GB pamięci RAM

JVM rozpoczyna się dobrze, jeśli ustawię -ms i -mx na 120G, ale jeśli ustawię je na 130G, JVM zawiesza się przy starcie. Uruchomienie JVM w porządku z kolektorami równoległymi i G1 (ale mają one własne problemy).

Czy ktoś zdołał skorzystać z kolektora do zbierania współbieżnego znacznika z stertą ponad 120 GB? Jeśli tak, czy musiałeś zrobić coś wyjątkowego, czy po prostu mam pecha?

Stos z błędu zrzutu JVM jest następujący:

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] [email protected]@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 

mam podniesiony błąd za to z Oracle (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7175901), ale zastanawiałem się, czy ktoś nie widział go.

+4

Rozważam użycie większej ilości pamięci sterty, jeśli możesz. Regularnie używam 200-800 GB off-sterty, podczas gdy maksymalny rozmiar sterty to 1 GB, a GC w dużej mierze bezczynny. –

+0

Dzięki - mam zamiar używać pamięci podręcznej. Jednak nadal chciałbym wypróbować duże rozmiary sterty, aby zobaczyć, jak dobrze się spisują. – Neil

+0

Przewodnik dotyczący pełnych czasów GC wynosi około 1 sekundy na GB w zamówionej przestrzeni. Azul JVM jest w pełni współbieżny (dla mniejszych i pełnych kolekcji), HotSpot GC radzi sobie najlepiej. ;) –

Odpowiedz

1

miał ten sam problem. Zredukowaliśmy ms do poniżej 140 i wydaje się, że działa. Pozostawiono mx przy 400g i napisałem program testowy.

+0

Nie miałem szczęścia z tym, obawiam się - JVM wciąż zawiesza się, gdy próbuje rozszerzyć stertę przeszłości około 120G – Neil

Powiązane problemy