Nechte JVM pri OOME vygenerovat heapdump. IBM JVM, ktera je pouzita ve WebSphere to historicky umi pokud ji nastavite nejake parametry (viz prislusny howto od IBM). Pak muzete ziskany heapdump nacist Heap Dump Analyzer (stahnutelny zdarma z IBM stranek) a podivat se kde Vam co leakuje.
Casto byva OOME zpusobena nedostatecnou velikosti permgen space. Zkuste zapatrat v log souborech, zda tam neuvidite nejake blizsi informace souvisejici s tim OOME. Vetsinou tam clovek najde vice nez jen OutOfMemoryError. Muzete take zkusit docasne zapnout verbose GC, tam taky leccos vyctete - v okamziku padu na OOME tam vetsinou najdete info o tom jakou pamet se nepodarilo alokovat, kolik te pameti bylo potreba apod. Kdybyste byl uplne ztracen, mate moznost kontaktovat support IBM - pokud tedy za WAS platite. Tyhle chyby se spatne reprodukuji, takze pocitejte s delsi dobou na vyreseni. Vetsinou po Vas budou chtit neco nastavit + posbirat data a poslat jim to. Tohle se nekolikrat opakuje, ale do cca 2 -3 tydnu byste ten Vas problem mohl mit vyresen. Kdyby Vam to padalo casteji a bylo mozne casteji sbirat data, trvalo by to podstatne kratsi dobu. Dle mych zkusenosti u IBM supportu zavisi na tom, jak velky jste zakaznik - cim vetsi, tim vice se snazi. Produkcni chyby se daji eskalovat zvysenim jejich priority - to je na Vasi domluve s jejich supportem. Obcas je nutne na ne zatlacit. Honza > -----Původní zpráva----- > Od: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] za uživatele Kmec Tomáš > Odesláno: Thursday, December 06, 2007 10:44 > Komu: [email protected] > Předmět: OutOfMemoryError a poloprazdny heap > > > Zdravim konferenci a prosim o nejakou radu.. > > nejsem schopny najit pricinu OutOfMemoryError, ktera se nam > urodila v aplikaci (bezi na WebSphere 6.1). Pokud mate s > podobnym chovanim zkusenosti, radu bych skutecne ocenil: > > OOME se zacne objevovat po dvou az dvanacti tydnech uptime a > to na jedinem miste, zbytek aplikace neni ovlivnen. Heap > pritom pouziva 250-600M ze 700M nastavenych. Tim mistem je > pouziti knihovny JXL pro tvorbu Excelovskych souboru: > java.lang.OutOfMemoryError > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(FileInputStream.java:212) > at jxl.read.biff.File.<init>(File.java:91) > at jxl.Workbook.getWorkbook(Workbook.java:221) > ... > tedy konkretne pri cteni ~15kB souboru, ktery slouzi jako sablona. > > Prochazim heapdump, ale zadny leak zatim nevidim (coz > neznamena ze tam neni). > > Jedine, co me momentalne napada je zalepit to tim, ze kazda > sablona se nacte jen pri prvnim pouziti. Jen nevim, jestli > tim OOME jenom neodsunu a nevyskoci na me odjinud. Rad bych > rozumel jeji pricine. > > Kdyztak diky, tom. > > > -------------------------------------------------------- > > Pravni informace: Tento e-mail a jakekoli soubory k nemu > pripojene mohou byt duverne, utajovane, pripadne chranene > pravnimi predpisy. Pokud nejste osobou, ktere je tato zprava > urcena, pripadne osobou poverenou k jejimu doruceni, davame > vam timto najevo, ze jeji sireni jakoukoli formou nebo > zverejneni teto zpravy je prisne zakazano. Pokud jste tuto > zpravu jakymkoli zpusobem obdrzeli, prosime oznamte toto > odesilateli bez zbytecneho odkladu a pote ji vymazte z Vaseho > systemu. > > > Legal Disclaimer: The information contained in this message > and any attached files can be confidential and may be legally > privileged. If you are not an intended recipient of this > message or an agent responsible for delivering this message, > you are informed by this that any distribution or other > dissemination is strictly prohibited. If you have received > this message by mistake please let the sender know > immediately and then delete this mail. >
