Domanda

Ho un Tomcat Application Server che è configurato per creare un dump di memoria su OOM, e viene avviato con Xmx1024m, in modo da un Gigabyte dovrebbe essere disponibile a lui.

Ora ho trovato una tale discarica e contiene solo 260MB della memoria non trattenuto. Come è possibile che la discarica è molto più piccola rispetto alla dimensione che dovrebbe avere a disposizione?

È stato utile?

Soluzione

spazio

PermGen è gestito in modo indipendente al mucchio e può essere eseguito anche quando c'è un sacco di memoria libera complessiva. Alcuni framework web (in particolare JSF) sono veri e propri maiali e mentre facilmente causare la configurazione di default per esaurirsi. Si può essere aumentato con -XX: MaxPermSize = ### m

Ricordate lo spazio del sistema è limitato dalla somma di heap e PermGen, in modo da poter consumare meno risorse complessive prima di iniziare a ricevere l'impossibile creare un'eccezione OOM thread nativo se non diminuire mucchio dalla quantità PermGen è aumentato.

Altri suggerimenti

Solo informazioni sull'uso di memoria allocata verrà scaricato un file. Un heap dump non è un'immagine binaria del mucchio, contiene informazioni sui tipi di dati, ecc e può superare la memoria disponibile.

Testo (classico) formato di file heapDump

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top