Perm space pouziva class loader,
nevidel som vasu implemetnaciu, ale specialne pri EJB sa robi urcita "instrumentacia" ktora moze zatazovat class loader novymi triedami do tej miery se to cele lahne, tak ako ste popisal.

URBAN Leos wrote:

Ahoj,

mam EAR aplikaci (JBOSS 4.0.4.GA + EJB3RC8), jejiz jednou soucasti je webova aplikace. V ni je JSP stranka, ktera ve sve session drzi JavaBean a vola jeho metody, ktere se pripojuji k aplikacnimu serveru a volaji stateless session bean metody. To vse pak pomoci HTML Refresh cykluje v 5s intervalech.

Problem je, ze po nejake dobe vsechno lehne s hlaskou:
java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space

Doba za jak dlouho to lehne je umerna velikosti PermSpace pameti (parametry JVM -XX:PermSize a -XX:MaxPermSize ) - pri dvakrat vetsi pameti dvakrat delsi doba.

Kdyby to padalo na velikosti HEAPu tak bych rekl ze to nekde neco neuvolnuje a pretece to ale pamet PermSize se (podle google) pouziva jen pro ukladani informaci o tridach (nikoliv objektu) a zpusobuje problemy pri opakovanem deployi aplikaci. To ja nedelam, tam bezi jen ta jedina aplikace a po zmene cely server restartuji.

Dela to jboss jak pod Windows XP tak pod Linuxem.

Nesetkal jste se nekdo s tim?

Diky moc,
Leos


Odpovedet emailem