Freitag, 30. Januar 2009

OutOfMemoryError: PermGen Space

Seit meinen Erfahrungen mit dem JBoss Application Server hab ich des öfteren eine Fehlermeldung erhalten, die vielen anderen wohl auch bekannt vorkommt. Arbeitet man länger mit dem JBoss und deployt mehrmals während der Entwicklung seine Webapplikation, kann es schon durchaus vorkommen, daß der AppServer keinen Speicher mehr hat.

Wer nun Eclipse nutzt, kann dieses Problem in der Server-Ansicht mittels Doppelklick und Ändern der Werte ändern, indem man dem unter "Open Launch Configuration" - Lasche Arguments - folgende VM Argumente ändert bzw. einträgt:

-Dprogram.name=run.bat -Djava.endorsed.dirs="C:/Programme/jboss-4.2.3.GA/bin/../lib/endorsed" -Xms128m -Xmx512m -XX:PermSize=128 -XX:MaxPermSize=256m

Welcher Speicher da jedoch genau erweitert wird und warum, das erfahrt ihr ausführlich in diesem sehr guten Artikel zum Thema:

freshblurbs.com Artikel

Zuletzt sei dabei auch noch auf die JBoss JMX Management Console verwiesen. Dort besteht die Möglichkeit, unter jboss.system - type=serverInfo mehr über den gerade laufenden JBoss AppServer auszulesen. Unter anderem das Betriebssystem sowie der verbrauchte und verfügbare Speicher.

http://localhost:8080/jmx-console

Am Anfang war die NullPointerException

Und hier ist er nun, der 1.000.000te Blog, den man im Internet finden kann. Und ihr habt euch trotzdem hierher verirrt. Dann kläre ich mal kurz auf, worum es hier gehen soll.

Wenn ich mal Revue passieren lasse, was ich in Sachen Java in den letzten Jahren für eine Entwicklung durchgemacht habe, ist es im Nachhinein echt interessant, die Veränderungen zu sehen. Ich bin also jemand, der sich mit Java beschäftigt. Und damit meine ich nicht die Insel und nicht den Kaffee, sondern die Programmiersprache, wie soll es auch anders sein. Beschäftigt hab ich mich damit wohl sauber zu viel, wenn man den Schlafmangel betrachtet, den ich schon kräftig spüre. Trotzdem bin ich noch lange kein Profi, gelernter Anwendungsentwickler hin oder her. Man lernt nie aus. Und genau darum geht es. Ich möchte für mich und für alle anderen, die es interessiert, meine Erfahrungen in Sachen Java / JavaEE festhalten. Und da ich allgemein die Dienste von Google sehr gerne nutze und im Google Profil auch dieser Blog integrierbar war, landetet ich also hier.

Und warum der Abwasch? Naja wer weiß, vielleicht rutscht mir ja doch das eine oder andere mal auch was privates Raus. Was hält einen Entwickler schon am ehesten von seinem geliebten Eclipse ab? Genau....der Haushalt. Also sollte es vorkommen, daß sich Freunde / Bekannte hierher verirren, tuts mir leid. Ich wollte euch nicht eure sinnvolle Zeit klauen und hiermit verschwenden ^^.

Genug getextet, ich werd besser die Label Funktion fleißig nutzen, um interessierte Leser von Nicht-Java-Posts zu verschonen.

Achja, Java ist groß. Worum gehts überhaupt? Also derzeit eher um Java Server Faces (kurz JSF), Facelets, JBoss Application Server, Enterprise Java Beans in Version 3 (EJB3) und vieles mehr. Ich hoffe mal stark, ich werde nicht irgendwann wieder bei Swing oder noch schlimmerem landen ^^

Viel Spaß beim Lesen und ich freue mich immer über Feedback.

Fred