if your application is thread heavy, I would recommend changing it so that one thread can manage several processes. creating 800+ threads is going to hit a scalability and reliability wall very quickly. In general, you want to make sure the number of threads remain constant under constant load. If it doesn't the server will eventually crash as you currently see. I'm guessing the application is using threads to handle async processes, which is good, but spawning new threads with every request isn't going to work.
hope that helps peter On 4/20/05, LeeAnn Pultz <[EMAIL PROTECTED]> wrote: > We tried a new test :) > > We added code that spins up 8 threads inside just a plain servlet that > doesn't do anything else. When I fire up 10 different "instances" of that > servlet, I get hundreds of threads printing out as being active - and no > out of memory errors. > > So we added the same code to our (slightly more complex) application > servlet, and did the same thing. Now the reported number of threads is > much higher, but I still get an OutOfMemory error at the same number of new > instances fired up (between 17-18 sites started up). > > Active Threads : WHEN STARTING INIT() 617 > [GC 57193K->46096K(129792K), 0.0353880 secs] > [GC 57936K->47554K(129792K), 0.0238210 secs] > [Full GC 49312K->47441K(129792K), 0.6546550 secs] > [Full GC 47732K->47129K(129792K), 0.7706500 secs] > [Full GC 48310K->47256K(129792K), 0.6425030 secs] > [Full GC 47276K->47263K(129792K), 0.6445770 secs] > [Full GC 47263K->47263K(129792K), 0.6368020 secs] > [Full GC 47263K->47241K(129792K), 0.7775600 secs] > java.lang.OutOfMemoryError > [Full GC 47295K->47242K(129792K), 0.6301470 secs] > [Full GC 47248K->47245K(129792K), 0.6451800 secs] > [Full GC 47257K->47250K(129792K), 0.6454320 secs] > [Full GC 47271K->47262K(129792K), 0.7056980 secs] > java.lang.OutOfMemoryError > java.lang.OutOfMemoryError > > So it looks like it isn't just a thread issue. > > If I fire up the simple servlet 18 times, I don't get the error. In fact, > I can then go on to fire up our main servlet another 17-18 times before we > get the OutOfMemory error - this time at 844 threads before it dies. > > There must be something else going on within our application that is > consuming something that the simple servlet doesn't. > > If anyone has any suggestions on other things that I could check for ? > Someone said OOM errors can mean out of file descriptors as well? > > thanks for all your help so far - I'm really hoping we can figure this out! > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
