ho sempre usato un mix di tool, ma al DevoXX quest anno hanno presentato
per bene un debug

https://www.youtube.com/watch?v=JoQN4xoXY5Y

On Thu, 6 Jun 2019 at 00:18, Uberto Barbini [email protected]
[it-torino-java-jug] <[email protected]> wrote:

>
>
> Un altro paio di considerazioni:
> In Java quelli che chiamiamo memory leaks in realta' di solito sono solo
> allocazioni di memoria di cui ci siamo "dimenticati".
> Per esempio thread orfani che restano appesi (con tutti i loro oggetti) o
> cache che non vengono svuotate regolarmente.
> Le eccezioni sono bugs nella JVM (ogni tanto ce n'e' qualcuno) e
> allocazioni JNI.
> Un altro caso che puo' dare problemi e' una super allocazione di memoria
> di picco che sfora l'heap prima che il GC possa ripulire.
> Pero' non mi sembra il caso qui.
>
> Un altro tool utile per fare investigazioni sulla memoria e' MAT di
> Eclipse, e' indipendente dall'IDE e se mi ricordo bene ha anche un bottone
> "scopri memory leaks" che fa un po' di euristiche niente male.
> https://www.eclipse.org/mat/
>
> Uberto
>
> On Wed, 5 Jun 2019 at 21:06, Uberto Barbini <[email protected]> wrote:
>
>> 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
>>>
>>> 
>

Reply via email to