Hello Sharon, just some thoughts
On 2/7/07, Sharon French <[EMAIL PROTECTED]> wrote:
---------------------------------------------------------------------------- --- Version Information: ---------------------------------------------------------------------------- --- Red Hat Linux: 2.4.21-4.ELsmp #1 SMP i686 i686 i386 GNU/Linux Apache: 2.0.54 mod_jk: 1.2.20 tomcat: 4.1.34 java: 1.5.0_06 (build 1.5.0_06-b05)
apart from the problem, pretty old setup :-)
We currently have Xmx set to 256M, we have tried increasing and decreasing this value and there is no change in the behavior.
I assume the Xms value is set to the same value as Xmx? If not, at least earlier jdks tendered to through outofmemory during heap resize. Do you have a graph on memory consumption (System.freeMemory()) ? If yes, is it linear? The changes in Xmx values, did they had any impact on the duration of the servers "good state" under load?
Questions: Is it possible that the initial OutOfMemory error occurs when a large garbage collection is taking place and an OutOfMemoryError is thrown before the memory can be reclaimed throwing the whole system into some sort of bad state?
yes.
If so, how do we combat this behavior?
Give the system enough memory. Enough means, that it always have enough to serve the requests during a gc run. You should study your memory consumption (for example with System.freeMemory output or something) and configure your memory values to be sufficent. I don't know which treshhold is suitable for you, I prefer to have at least 100MB in the VM just in case :-).
Is one of the tomcat threads running out of memory, and killing itself, thus freeing the memory? If this is what is happening, does anyone have any advice on catching the tomcat memory usage just prior to going into a bad state?
You could try some gc options. How much memory does your machine have? I also assume you run 32 bit?
Based on other's reports of similar problems we have investigated a number of system resources and their limits (file descriptors, threads, etc) with no luck. (below are some statistics that seem to show that these other areas are not the problem).
Hmm, call me silly, but I would increase PermGen space too. just in case.
We are running apache to serve static content, and mod_jk with balanced workers to forward requests for dynamic content to 5 tomcat instances. The following are the relevant settings:
Your instances are all on the same machine? Why? Btw, can you reproduce the error in testing environment? Could it be that you simply have a memory leak? regards Leon --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]