Sto provando a determinare se ho una perdita di memoria nella mia webapp. Sto usando VisualVM e JMeter per caricare test e guardare l'heap.Eclipse Memory Analyzer - Il rapporto Sospetti perdite non punta alle classi MY - perché?
Ho salvato un dump di heap su file e scaricato Eclipse Memory Analyzer ieri ... dopo molte frustrazioni con VisualVM, ho pensato che Eclipse avrebbe individuato la perdita, se esistente, migliore di VisualVM.
Ho aperto il file heap in Eclipse e ho eseguito quello che chiamano un rapporto di sospetti di perdita. Ho pensato che avrebbe puntato a una classe particolare nella mia webapp, ma non è così. Quindi non ho idea di come usare le informazioni fornite al fine di scoprire dove sia in una particolare classe di mine il sospetto di perdita.
Ecco i risultati del report di Leak Suspect per uno dei miei file di heap.
One instance of "org.apache.catalina.session.StandardManager" loaded by "org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0" occupies 16,977,376 (48.54%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "". Keywords org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0 org.apache.catalina.session.StandardManager java.util.concurrent.ConcurrentHashMap$Segment[]
Il resto dei Dettagli nel rapporto è come mostrato nell'immagine allegata. Spero che l'immagine può essere espansa per uno sguardo più da vicino ....
So che Eclipse si suppone che sia davvero un buon software. Questo è il mio ultimo tentativo di usare qualcosa del genere per trovare una perdita di memoria - ho solo una conoscenza molto, molto limitata in COME questo software può essere usato per tale. Tutorial e pagine di aiuto descrivono le cose come se dovessi sapere cosa fare dopo pochi click ... Ho bisogno di più aiuto di così.