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