You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Tom Amiro <ta...@mediaone.net> on 2001/06/03 19:01:51 UTC

Tomcat 3.2 standalone on Solaris 2.7 core dumping

Hi,

I'm using Tomcat 3.2  in standalone mode on Solaris 2.7 with the JDK 1.3,
and it is core dumping with Java Out of Memory.

Tomcat is running a servlet that performs XSLT transformations on an
XML file that is ~1.4MB big and returns html output to the client
browser. It was running fine during development, but once the
servlet was made available to the web site's users (www.coolrunning.com),
it began crashing. Must be due to the increased load.

I don't know how heavy the load is exactly, nor how to determine it, but
the site is not an Ebay by any means. I'm assuming Tomcat can handle
a single servlet application on a low-traffic web site -- less than 100,000 hits a day.

Following suggestions on the web, I've

    - Increased the memory allocated to Tomcat to 128M (using -Xmx128m switch)
    - Increased the max_threads to 100
    - Increased the file descriptors to 256
    - added System.gc(); to the end of the Servlet code

These changes have helped; it takes much longer, but it still crashes under "normal" use.

I've been watching the output from the "top" command.
It shows that the Tomcat  Java process is starting with about 32MB and
over time and load it climbs. It was running at 62M for quite a while, and
it even dropped to 55M, and then grew  to 169M without crashing.
Not sure how high the SIZE (memory) gets to before it crashes; but crash it does
with a core dump.

With the 'ps' command, I don't see any accumulation of treads. Here's
a dump
  81=> /usr/ucb/ps -auxww | grep thread
  root     24231 73.0 28.3173016141648 ?        R 20:30:02 21:51 /usr/local/j2sdk/
  bin/../bin/sparc/native_threads/java -Xmx128m -Dtomcat.home=/usr/local/tomcat
  or g.apache.tomcat.startup.Tomcat

I don't know how to analyze the core dump, except to use strings on it. At least,
I can see that it was definitely caused by Tomcat.

What would be a reasonable setting on max_threads? Is 100 just to low?
I could start Tomcat with more memory, say 256M (system has 512MB),
but I don't want to negatively impact the other applications. The system is running
Apache without any problems, independent of Tomcat.

I've spent months developing this JSP/Servlet application for the Coolrunning
Events calendar, and can't go back. Have to make Tomcat work!

Any help appreciated.

Tom







Re: Tomcat 3.2 standalone on Solaris 2.7 core dumping

Posted by Hemant Singh <he...@yahoo.com>.
HI Tom:
try increasing the memory available to shell in which your tomcat server is
running(on popup window in case ur using defaults)
It might work
Hemant


----- Original Message -----
From: "Tom Amiro" <ta...@mediaone.net>
To: <to...@jakarta.apache.org>
Cc: <ta...@east.sun.com>
Sent: Sunday, June 03, 2001 10:31 PM
Subject: Tomcat 3.2 standalone on Solaris 2.7 core dumping


> Hi,
>
> I'm using Tomcat 3.2  in standalone mode on Solaris 2.7 with the JDK 1.3,
> and it is core dumping with Java Out of Memory.
>
> Tomcat is running a servlet that performs XSLT transformations on an
> XML file that is ~1.4MB big and returns html output to the client
> browser. It was running fine during development, but once the
> servlet was made available to the web site's users (www.coolrunning.com),
> it began crashing. Must be due to the increased load.
>
> I don't know how heavy the load is exactly, nor how to determine it, but
> the site is not an Ebay by any means. I'm assuming Tomcat can handle
> a single servlet application on a low-traffic web site -- less than
100,000 hits a day.
>
> Following suggestions on the web, I've
>
>     - Increased the memory allocated to Tomcat to 128M (using -Xmx128m
switch)
>     - Increased the max_threads to 100
>     - Increased the file descriptors to 256
>     - added System.gc(); to the end of the Servlet code
>
> These changes have helped; it takes much longer, but it still crashes
under "normal" use.
>
> I've been watching the output from the "top" command.
> It shows that the Tomcat  Java process is starting with about 32MB and
> over time and load it climbs. It was running at 62M for quite a while, and
> it even dropped to 55M, and then grew  to 169M without crashing.
> Not sure how high the SIZE (memory) gets to before it crashes; but crash
it does
> with a core dump.
>
> With the 'ps' command, I don't see any accumulation of treads. Here's
> a dump
>   81=> /usr/ucb/ps -auxww | grep thread
>   root     24231 73.0 28.3173016141648 ?        R 20:30:02 21:51
/usr/local/j2sdk/
>


bin/../bin/sparc/native_threads/java -Xmx128m -Dtomcat.home=/usr/local/tomca
t
>   or g.apache.tomcat.startup.Tomcat
>
> I don't know how to analyze the core dump, except to use strings on it. At
least,
> I can see that it was definitely caused by Tomcat.
>
> What would be a reasonable setting on max_threads? Is 100 just to low?
> I could start Tomcat with more memory, say 256M (system has 512MB),
> but I don't want to negatively impact the other applications. The system
is running
> Apache without any problems, independent of Tomcat.
>
> I've spent months developing this JSP/Servlet application for the
Coolrunning
> Events calendar, and can't go back. Have to make Tomcat work!
>
> Any help appreciated.
>
> Tom
>
>
>
>
>