Chi si trova a sviluppare sistemi web basati su Application Server WebLogic, spesso incorre in un problema noto, il permgen space. In quest’articolo vedremo come risolvere tale errore agendo sull’allocazione di memoria dell’application server.
La prima cosa da fare è assicurarci che l’Application Server non sia running e posizionarci sotto la directory “bin” del nostro dominio WebLogic:
<middleware home>\user_projects\domains\base_domain\bin
All’interno della directory bin individuiamo il file “setDomainEnv.cmd”, apriamolo con un editor di testo e cerchiamo la stringa:
@REM IF USER_MEM_ARGS
individuata la riga contenente tale stringa, basta incollare il seguente codice subito dopo:
set USER_MEM_ARGS=-Xms256m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m
Se abbiamo effettuato tutte le operazioni sopra elencate, la porzione di codice editata risulterà essere qualcosa del genere:
@REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values set USER_MEM_ARGS=-Xms256m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m if NOT "%USER_MEM_ARGS%"=="" ( set MEM_ARGS=%USER_MEM_ARGS )
Avviare il server…
Il problema dovrebbe risultare risolto.
ha funzionato!! grazie!