Per trovare il memory leak in fretta ti basta fare un memory dump con l'applicazione che gira da un po' e poi guardarci con visualvm. I casi più semplici li trovi cercando le classi tue con più istanze.
Metodi più sofisticati richiedono analizzare i log del gc, ma di solito lo vedi da visualvm Uberto On Wed, 5 Jun 2019, 15:36 Salvatore Spoto [email protected] [it-torino-java-jug], <[email protected]> wrote: > > > Ciao a tutti, > avrei la necessità di trovare dei memory leak in un'applicazione java. > > Il sintomo è abbastanza banale: la memoria cresce costantemente nel tempo, > senza essere mai liberata, e questo porta il processo ad essere ucciso > quando raggiunge i limiti di memoria pre determinati del container > (l'applicazione gira in un docker). > > Qualcuno saprebbe consigliari dei profiler, tool o best practice per > eseguire questo lavoro ? > > Ho visto che vi sono JProfile e YourKit, purtroppo sono commerciali, ma > sembrano ottimi. Anche lo stesso Java Mission Control credo che richieda > una licenza per essere usato in ambienti di produzione. Forse di > quest'ultimo vi è una versione open source sulla jdk 11, ma io sto > lavorando ancora sulla 7 :_/. > > Grazie delle dritte.. > > Ciao, > Salvatore > >
