I'd suggest that you try the following JVM options in your Tomcat JAVA_OPTS
environment variable (before deploying these changes in production, test
these options in an isolated environment with stress testing tools if at all
possible):

JAVA_OPTS= -Xms1024m -Xmx1024m -verbose:gc  -server 

- By making -Xms and -Xmx the same, you will minimize CPU cycles spent on
growing the block of memory allocated to the Tomcat JVM by the OS.  If you
have more memory available, use it for Tomcat, so long as you allow
sufficient "headroom" for other services you may be running, as well as the
OS itself.  Test to determine how high you can safely go with these parms.

- The -verbose:gc option will output statistics to the Tomcat console that
will tell you the "before" and "after" memory stats behind JVM garbage
collection operations.  Use the "after" number to determine approximately
how much RAM the Tomcat JVM is consuming at a given moment.  Much of the
time, the JVM does not use all the memory shown by the Windows Task Manager
as being in use.

- As I understand it, the -server option is generally recommended when using
Tomcat in a server environment.

That aside, buy enough (>=2G) RAM so that you can take advantage of a larger
memory allocation.  Win 2K permits a total of 4G per process; 2G of that is
mapped to the OS kernel leaving 2G for your app.  If you only have 1G or so
installed, you're missing an opportunity for an inexpensive way to increase
performance and decrease downtime and hair loss!

Hope this helps.

Cheers,
Gordon Smith

-----Original Message-----
From: Marco Aurélio Seraphim da Silva [mailto:[EMAIL PROTECTED] 
Sent: Monday, June 26, 2006 11:09 AM
To: users@tomcat.apache.org
Subject: Out of Memory Error

Hi folks,

I'm using Tomcat 5.0.28 with JVM 1.4.2 (running only Tomcat) under a Win
2000 Server, and it starts to give me the following message:
java.lang.OutOfMemoryError.

To prevent this I start Tomcat using this 2 parameters:
-Xms 521m
-Xmx 1024m

But this isn't enought, some times when the server is a bit stressed the
server memory, used by the JVM incrises up to 1GB and some MB more, then
decrises to 700MB, and starts to increse again up to 1GB.

The memory used increses just as the app sessions, but when the JVM used
memory get at 1GB I have at about 400 sessions. I'm thinking that is to much
memory for 400 sessions on this app.

I'm afraind becuse the memory get up to 1GB when the server is not full
stressed.


There's something I can do to reduce the amount of memory used by the JVM,
or it's normal???

Thanks,

Marco Aurélio Silva


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe,
e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to