Betr.: RE: Memory Management between different webapps

2006-02-02 Thread Roel De Nijs
The problem we are confronted with: all our web-apps are running fine in our 
test-environment, even if workload is simulated to be very high. If we go to 
production environment (which is an exact copy of the test-environment) then 
tomcat gives OOME, sometimes 3-4 times a day. And it looks to be at random 
situations, so it's a really big mistery why in test everything goes well and 
in production it crashes more then once a day.  And it's doing it for approx 4 
months now, so it's time it's getting solved. 

 [EMAIL PROTECTED] 2/02/2006 11:06 
 From: Roel De Nijs [mailto:[EMAIL PROTECTED] 
 I have a tomcat with ± 10 web-applications. Is there a 
 maximum or some guidance in the number of web-apps you can 
 put in one instance of Tomcat?

Tomcat itself uses relatively little memory per-webapp (a few megabytes, 
depending on version).  The major load comes from the number of simultaneous 
connections (and hence the size of the thread pool) and, even more, from how 
the webapps are written.  You're in the best place to evaluate these.

 And i start tomcat with the options -Xmx1024m -Xms1024m -- 
 is there some information or articles about how tomcat is 
 spreading all this memory over the web-apps? Is this 
 completely random, or first come first gets? What if a 
 web-app is called for the first time and all possible memory 
 is allocated to other web-apps?

It's all one big object memory, shared between all the webapps.  Roughly (there 
are many more nuances than this): whenever it gets full, the garbage-collector 
is run.  If there's not enough space to allocate an object after the garbage 
collector has run, you get an OutOfMemoryError.  So memory will be allocated as 
your webapps request it (and potentially returned to the Java VM's pool of free 
memory some unknown time after they stop using it); if a webapp is called for 
the first time and there's not enough space to allocate the memory required for 
its startup, you'll get an OOME.

To my knowledge, there is no way of partitioning memory inside a single JVM 
such that the amount available to a given webapp can be restricted.

- Peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




**
Disclaimer: zie www.aquafin.be


Re: Betr.: RE: Memory Management between different webapps

2006-02-02 Thread David Smith
Obviously something is different. Given tomcat and the web-app are the 
same, I would guess environmental differences exist between test and 
production. Do both have the same set of services? Same OS? OOM errors 
can also indicate a lack of system resources such as file handles.


Just throwing out some ideas to look in to.

-- David

Roel De Nijs wrote:
The problem we are confronted with: all our web-apps are running fine in our test-environment, even if workload is simulated to be very high. If we go to production environment (which is an exact copy of the test-environment) then tomcat gives OOME, sometimes 3-4 times a day. And it looks to be at random situations, so it's a really big mistery why in test everything goes well and in production it crashes more then once a day.  And it's doing it for approx 4 months now, so it's time it's getting solved. 

  

[EMAIL PROTECTED] 2/02/2006 11:06 

From: Roel De Nijs [mailto:[EMAIL PROTECTED] 
I have a tomcat with ± 10 web-applications. Is there a 
maximum or some guidance in the number of web-apps you can 
put in one instance of Tomcat?



Tomcat itself uses relatively little memory per-webapp (a few megabytes, 
depending on version).  The major load comes from the number of simultaneous 
connections (and hence the size of the thread pool) and, even more, from how 
the webapps are written.  You're in the best place to evaluate these.

  
And i start tomcat with the options -Xmx1024m -Xms1024m -- 
is there some information or articles about how tomcat is 
spreading all this memory over the web-apps? Is this 
completely random, or first come first gets? What if a 
web-app is called for the first time and all possible memory 
is allocated to other web-apps?



It's all one big object memory, shared between all the webapps.  Roughly (there 
are many more nuances than this): whenever it gets full, the garbage-collector 
is run.  If there's not enough space to allocate an object after the garbage 
collector has run, you get an OutOfMemoryError.  So memory will be allocated as 
your webapps request it (and potentially returned to the Java VM's pool of free 
memory some unknown time after they stop using it); if a webapp is called for 
the first time and there's not enough space to allocate the memory required for 
its startup, you'll get an OOME.

To my knowledge, there is no way of partitioning memory inside a single JVM 
such that the amount available to a given webapp can be restricted.

- Peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




**
Disclaimer: zie www.aquafin.be

  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Betr.: RE: Memory Management between different webapps

2006-02-02 Thread Caldarale, Charles R
 From: Roel De Nijs [mailto:[EMAIL PROTECTED] 
 Subject: Betr.: RE: Memory Management between different webapps
 
 The problem we are confronted with: all our web-apps are 
 running fine in our test-environment, even if workload is 
 simulated to be very high. If we go to production environment 
 (which is an exact copy of the test-environment) then tomcat 
 gives OOME, sometimes 3-4 times a day.

Have you read this?
http://tomcat.apache.org/faq/memory.html

Note that an OOME can result from a variety of problems other than
exhausting heap memory, including such things as running out of file
descriptors.  Turn on -verbose:gc to get an idea of what's happening
with the Java heap, and proceed from there.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]