Frage

Ich habe einen Tomcat Application Server, der so konfiguriert ist, ein Speicherabbild auf OOM zu erstellen, und es beginnt mit -Xmx1024M, so ein Gigabyte ihm zur Verfügung stehen sollten.

gefunden Jetzt habe ich eine solche Deponie und es enthält nur 260MB von nicht retardierte Speicher. Wie ist es möglich, dass die Deponie ist so viel kleiner als die Größe sollte er zur Verfügung hat?

War es hilfreich?

Lösung

PermGen Raum wird unabhängig von dem Heap verwaltet und können auch laufen, wenn es insgesamt viel freier Speicher ist. Einige Web-Frameworks (insbesondere JSF) sind echte Schweine und während leicht die Standardkonfiguration führen zu laufen. Es kann mit -XX erhöht werden: MaxPermSize = ### m

das System Raum Denken Sie daran, wird durch die Summe der Halde eingeschränkt und PermGen, so dass man insgesamt weniger Ressourcen verbrauchen kann, bevor Sie beginnen, die bekommen kann nicht native Thread-OOM Ausnahme erstellen, wenn Sie Heap nicht um den Betrag verringern PermGen erhöht wird.

Andere Tipps

Es werden nur Informationen über die Verwendung von zugewiesenen Speicher wird zu einer Datei gespeichert werden. Ein Heap Dump ist kein binäres Bild des Heap, es enthält Informationen über Datentypen usw. und können Ihre verfügbaren Speicher überschreiten.

Text (klassisch) heapdump Dateiformat

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top