<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Das permgen space-Problem unter JBoss</title>
	<atom:link href="http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/</link>
	<description>Watching a new world...</description>
	<pubDate>Mon, 01 Dec 2008 21:39:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: 6b915add4135405b8e39c1bb3887b5f7</title>
		<link>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/#comment-5437</link>
		<dc:creator>6b915add4135405b8e39c1bb3887b5f7</dc:creator>
		<pubDate>Sat, 05 Apr 2008 18:21:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.meimberg.info/?p=207#comment-5437</guid>
		<description>&lt;strong&gt;6b915add4135405b8e39c1bb3887b5f7...&lt;/strong&gt;

6b915add4135405b8e39c1bb3887b5f7...</description>
		<content:encoded><![CDATA[<p><strong>6b915add4135405b8e39c1bb3887b5f7&#8230;</strong></p>
<p>6b915add4135405b8e39c1bb3887b5f7&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Redl</title>
		<link>http://blog.meimberg.info/das-permgen-space-problem-untr-jboss/#comment-3158</link>
		<dc:creator>Sebastian Redl</dc:creator>
		<pubDate>Wed, 28 Mar 2007 10:07:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.meimberg.info/?p=207#comment-3158</guid>
		<description>Speicherleck.

Es gibt generell zwei Quellen. Einerseits String.intern(), was aber hier vermutlich nicht der Fall ist.

Andererseits ClassLoader-Probleme: insbesondere die Kombination Hibernate/Tomcat/SunJVM (plus CGLIB, die durch Hibernate eingebunden wird) erzeugt eine Situation, in der
1) Tomcat Klassen per Webapp lädt
2) Beim Reload einer Webapp der alte ClassLoader weggeworfen und ein neuer erstellt wird, und dadurch alle Klassen neu geladen werden
3) CGLIB aber eine Referenz auf alle ClassLoaders behält, und die alten Klassen daher nicht aufgeräumt werden.

Die Folge: PermGen wird mit alten, nutzlosen Klassendaten vollgeräumt. Irgendwann gibt's dann den effektiven Absturz.

Angeblich hat die BEA JRockit-JVM das Problem nicht. Angeblich haben auch andere Servlet-Container (e.g. Jetty) das Problem nicht.</description>
		<content:encoded><![CDATA[<p>Speicherleck.</p>
<p>Es gibt generell zwei Quellen. Einerseits String.intern(), was aber hier vermutlich nicht der Fall ist.</p>
<p>Andererseits ClassLoader-Probleme: insbesondere die Kombination Hibernate/Tomcat/SunJVM (plus CGLIB, die durch Hibernate eingebunden wird) erzeugt eine Situation, in der<br />
1) Tomcat Klassen per Webapp lädt<br />
2) Beim Reload einer Webapp der alte ClassLoader weggeworfen und ein neuer erstellt wird, und dadurch alle Klassen neu geladen werden<br />
3) CGLIB aber eine Referenz auf alle ClassLoaders behält, und die alten Klassen daher nicht aufgeräumt werden.</p>
<p>Die Folge: PermGen wird mit alten, nutzlosen Klassendaten vollgeräumt. Irgendwann gibt&#8217;s dann den effektiven Absturz.</p>
<p>Angeblich hat die BEA JRockit-JVM das Problem nicht. Angeblich haben auch andere Servlet-Container (e.g. Jetty) das Problem nicht.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
