Ho questa macchina virtuale con tomcat, java e grails al suo interno. Sono stato sempre PermGen errori così mi sono guardato intorno e ho trovato la soluzione:Come imposto correttamente la dimensione permgen?
set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
Io uso di SSH per accedere al vm e digitare gli argomenti di cui sopra. Suppongo che risolverebbe il problema. Il fatto è che volevo essere sicuro di averlo fatto correttamente. Così ho cercato ancora una volta su come ho potuto verificare la PermSize attuale e questa è la soluzione che ho ottenuto:
jinfo -flag MaxPermSize 6444
6444 è il pid, e come risposta, ho ottenuto questo.
-XX:MaxPermSize=85983232
Domanda: il valore di maxPermSize è espresso in byte? perché, se lo è, questo significherebbe che il comando java_opts non ha funzionato. Mi aspetto di ottenere 512 milioni ma 85983232 byte = 82 MB. O lo vedo male ...? Qualcuno può illuminarmi su questo? D:
Presumo riavviato il processo di Tomcat? Con ps -wwf 6444 è possibile visualizzare il comando completo che ha avviato il processo. Verifica che le tue opzioni siano incluse. Puoi anche avviare jconsole (incluso in jdk) e collegarti al processo, quindi controllare la scheda Informazioni generali e la scheda Memoria. – greyfairer
Non ho riavviato tomcat. Penso di aver dimenticato quel processo .. D: Scusate, sono un po 'nuovo per questa cosa di distribuzione .. Ma suppongo che come sviluppatore dovrei sapere questo tipo di cose .. Grazie. :) –