Ho un'applicazione J2EE con qualche comportamento interessante ... l'heap sembra comportarsi bene, crescendo e diminuendo con le raccolte di spazzatura come previsto nel tempo. Non c'è apprezzabile espansione complessiva dell'heap a lungo termine. Tuttavia, il metaspace continua a crescere costantemente a circa 20 Mb all'ora finché non raggiungiamo MaxMetaspace e incontriamo un OOME. Ho provato entrambi i garbage collector paralleli e G1 (jdk1.8.0_40).Come diagnosticare una perdita di metaspazio Java 8?
L'applicazione non viene ri-distribuita durante l'esecuzione, quindi non sembra che si tratti della tipica perdita di classloader. Qualcuno ha suggerimenti su come rintracciare la fonte di questa perdita?
Hai già trovato una risposta? –
Potete fornire ulteriori informazioni: server JEE, librerie usate. – sibnick
Questo è stato un tentativo di eseguire un'app J2EE legacy su JBoss 4.2.3.GA in Java 8. Questa non è una configurazione supportata, ma il client voleva davvero provarla. So che ci sono stati importanti cambiamenti nel caricamento di classe di JBoss da allora, quindi ho il sospetto che si trattasse di un problema con la classe loader. L'ipotesi di Phillipe in merito alla generazione di proxy può avere qualche merito. Alla fine abbiamo deciso di "mordere il proiettile" e portare l'app su Wildfly 8. –