Jak rozwiązywać problemy z błędem braku pamięci w systemie produkcyjnym
Używamy JBoss_4_0_4_GA z JDK 1.5.0 (bez aktualizacji) w systemie Windows
Serwer JBoss jest uruchamiany w Wrapper (wersja 3.2.3)http://wrapper.tanukisoftware.org.
Ponieważ JVM jest tak stara, nie mogę nawet użyć opcji -XX: + HeapDumpOnOutOfMemoryError w JVM.
Jaka jest moja opcja, aby dowiedzieć się o problemie?
Jak zwykle wyjątek Out of Memory występuje na różnych częściach aplikacji.
Nie mogę od razu ulepszyć JVM.
The current VM settings
Java Additional Parameters
wrapper.java.additional.1=-Xms512m
wrapper.java.additional.2=-Xmx1024m
wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000
wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000
wrapper.java.additional.5=-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser
wrapper.java.additional.6=-Djava.endorsed.dirs=D:/jboss-4.0.4.GA/lib/endorsed
Fragmenty wyjątku
INFO | jvm 1 | 2012/05/31 11:25:03 | 11: 25: 03,502 BŁĄD [SOAPFaultExceptionHelper] Żądanie SOAP wyjątek INFO | jvm 1 | 2012/05/31 11:25:03 | java.rmi.RemoteException: java.lang.OutOfMemoryError: przestrzeń sterty Java; zagnieżdżonym wyjątkiem jest: INFO | jvm 1 | 2012/05/31 11:25:03 | java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: przestrzeń sterty Java
INFO | jvm 1 | 2012/05/31 11:25:03 | Przyczyna: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Miejsce sterty Java INFO | jvm 1 | 2012/05/31 11:25:03 | at java.util.concurrent.FutureTask $ Sync.innerGet (FutureTask.java:205) INFO | jvm 1 | 2012/05/31 11:25:03 | at java.util.concurrent.FutureTask.get (FutureTask.java:80)