We also have this problem with our server.
After a bit of memory debugging, it seems that our servlets and all depended
classes are almost gc'ed. But there always remains a 20 byte reference to
the servlet and all depended classes. So if your servlet is somewhat
complicated, this will eat your memory by 4K for every hit to your servlet.
when the memory consumption reashes the heap roof, Garbagecollection takes
place, and the heap is enlarged.And so it continues from the beginning until
it runs of of heap space again.
Again and again, until the heap can grow no more, and the jwm stops
responding, often taking the OS down too.
The only solution so far for this problem has been twofolded:
1. take a restart every day.
or
2. have a thread running in the background doing a manual GC every now and
then.
None of these solutions are good ones. So if someone can point out to as
what we are doing wrong, or show us a workaround, lives will definentily be
much easiyer.
(PS. we are using SilverStream Application Server v. 3.7,
Java JRE 1.3.0 with HotSpot VM 1.3.0-C, mixed mode)
----- Original Message -----
From: "A R Krishna" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 28, 2001 8:44 AM
Subject: JWS Crashing with Extra memory usage by JREW - heap memory problem.
> We have observed the following problem on our server. We are running
> Java Web Server 2.0 on WinNT4.0 machine with Dual 933MHZ
> PIII, 1GB Ram Dell Server.
>
> The memory leaks happen every time, but the method of crash always seems
to
> vary. Sometimes the service just stops responding. The only way to bring
> it back is to kill the jrew.exe process, stop the service, and start the
> service. This works about 70% of the time.
>
> Sometimes after restarting the service, JWS still doesn't respond until
> we go into the admin tool and change the web page service from stopped to
> started. This happens about 15% of the time. Sometimes jrew GPF's.
> I often have to reboot after this happens, but sometimes I can just stop
> and start the service and it comes back up. This happens about 10% of the
> time. The final 5% of the crashes are the most spectacular. This is
where
> the whole system stops responding, even to mouse movement. A hard reboot
is the only solution here. But every time JWS crashes, there is never
anything in the logs to give any clue as to what happened.
>
> We have also observed that the memory gets allocated to jrew.exe in chunks
ranging from 4K to 16K until it tops out at the maximum VM setting and
throws exceptions. Surprising thing is that even while serving the html
pages the above said chunk of memory is getting assigned to the jrew.exe.
This process continues till the memory used by jrew.exe reaches allocated
cache memory and then the problem reported in para 2 above starts.
>
> we have allocated 750MB for Heap Memory and 384MB for cache memory.
>
> I have even tried out using System.gc() in all the servlets but there is
no improvement at all.
>
> Anyone have any ideas ? Thanks,
>
> RK
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html