JUG Milano - http://www.jugmilano.it/ Il canale di Gitter dedicato al JVM User Group
Amicici del Jug Milano, buongiorno :-) oggi ho una domanda per voi esperti di GC:
Usiamo in produzione il buon vecchio CMS di default di Java8, le applicazioni sono su Playframework e piuttosto affamate di memoria, guardando alla memoria usata negli ambienti di testing vedo che circa un 30% viene usato da Stringhe.
Mi viene spontaneo mettere G1 con StringDeduplication, ma ogni volta che lo faccio, negli ambienti di testing tutto bene; invece in produzione con le macchine sotto carico G1 sembra non essere in grado di richiamare memoria andando a farmi schiantare le macchine (o con uso eccessivo di memoria o con uso eccessivo di CPU dovuto al GC).
Idee? Gotcha comuni che mi sto trovando? Soluzioni che non involvono giocare con i GC in produzione?
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:$ARTEMIS_INSTANCE/log/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M
da sostituire -Xloggc con quello che ti serve