Frage

Ich verwende eine ICEFaces-Anwendung, die über JBOSS läuft, meine derzeit Heapsize ist auf

-Xms1024m -Xmx1024m -XX: MaxPermSize = 256m

Was ist Ihre Empfehlung Speicherparameter für JBOSS AS 5 (5.0.1 GA) JVM 6?

einstellen
War es hilfreich?

Lösung

Nach diesem Artikel :

  

AS 5 bekannt ist, gierig zu sein, wenn es darum geht, PermGen . Beim Start, ist es oft wirft OutOfMemoryException: PermGen Error.

Dies kann bei der Entwicklung besonders ärgerlich sein, wenn Sie heißen entfalte häufig eine Anwendung sind. In diesem Fall empfiehlt JBoss QA die Permgen Größe erhöhen, erlauben Klassen Entladen und Permgen Sweep :

-XX:PermSize=512m -XX:MaxPermSize=1024 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Das ist aber mehr FYI, ich sage nicht, diese Konfiguration blind anzuwenden (wie die Menschen in den Kommentaren schrieben: „Wenn es nicht kaputt ist, repariere es nicht“).

In Bezug auf Ihrer Heap-Größe, immer im Auge behalten: desto größer der Haufen, desto länger die wichtigsten GC . Nun, wenn Sie sagen, „es war definitiv zu klein“, ich weiß wirklich nicht, was das bedeutet (was für Fehler, Symptome, etc.). Mein Wissen ist ein 1024m Haufen eigentlich ziemlich groß für ein Webapp und soll wirklich mehr als genug für die meisten von ihnen. Nur hüte dich der großen GC Dauer.

Andere Tipps

Heap:. Beginnen Sie mit 512 MB, legen Sie den Deckel auf, wo Sie glauben, dass Ihre App sollte nie bekommen, und nicht dem Server Start-Swapping machen

PermGen: Das ist in der Regel stabil genug, sobald die App alle Klassen in der App verwendet lesen. Wenn Sie die App getestet haben und es funktioniert mit 256 MB, dann lassen Sie es so.

@wds: Es ist definitiv keine gute Idee, den Heap maximal so hoch wie möglich aus zwei Gründen einzustellen:

  1. Große Haufen machen volle GC länger dauern. Wenn Sie das Scannen aktiviert ist, ein großer PermGen Raum wird länger dauern PermGen haben auch auf GC.
  2. JBoss AS auf Linux nicht verwende mich verlassen kann / Griff O lange genug offen für Linux sie mit Gewalt macht bereinigen, alle Prozesse auf der Maschine blockiert, bis es abgeschlossen ist (vielleicht mehr als 1 Minute dauern!). Wenn Sie vergessen, die Hot Deploy Scanner auszuschalten, wird dies häufig viel mehr passieren.

Dies würde vielleicht einmal in der Woche in meiner Anwendung, bis ich geschehen:

  1. sank -Xms zu einem Punkt, an dem JBoss AS Startup zu verlangsamen begann
  2. sank -Xmx zu einem Punkt, wo volle GCs häufiger geschehen, so dass die Linux-I / O-Griff aufzuräumen gestoppt

Für Entwickler Ich denke, es ist in Ordnung PermGen zu erhöhen, aber in der Produktion wollen Sie wahrscheinlich nur verwenden, was notwendig ist, lange GC Pausen zu vermeiden.

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