Howdy, >It seems that TC4 has some algorithm which tags objects (read >HttpRequests) as long- or short-lived.
Please do tell where you got that impression? ;) >At 70+ connections per second, I guess most of your HttpRequests would >be short lived, which means the gc will reclaim them first, but not >until the heap is exhausted. Not true. They will be reclaimed when possible according to the selected GC algorithm >So it might help to allocate more to the short lived requests to force >gc to reclaim more often, like this: > >-XX:NewSize=448m -XX:MaxNewSize=448m This is wrong reasoning, won't force short-lived objects to be reclaimed more often, and you should use a profiler to see that yourself before putting it in a production system ;) >> The server has 2 GB physical memory and 4 GB swap file. During peak >times >> I'm hitting between 60 and 75 requests per second and it is using pretty >> close to all of the memory. I've seen the JVM using ~ 830 MB watching >top. Don't confuse heap usage with "top" output, as their variance can be significant (10-20%). "top" output will always be more than the current heap, as it includes stack, symbol table, translation table, thread, and OS-internal overhead. The ration of top output to heap allocation is very application and OS-specific. Use the Runtime's class freeMemory() and totalMemory() to get a measure of the heap itself. >> >I've set CATALINA_OPTS to use -Xmx896m and -Xms384m. That works fine >with >> >maxProcessors set to 384. Problem is, if I set -Xmx higher or >> maxProcessors >> >higher, I get he OutOfMemoryError. Do you actually get up to 384 processors? Are they all active? Are any hanging? Can you easily reproduce the OutOfMemoryError with JMeter or another stress-testing tool? >> >>First off, I'm using RedHat Linux 7.3, IBM JDK 1.4.1, and Tomcat 4.1.24 You might want to update to 4.1.27 ;) >> >>I'm trying to get Tomcat to handle a lot of traffic (4-5 million hits >> >per day) and bumping up against a problem I for life of me can't figure >> >out. >> >>So, I'm hoping someone else on this list has run into this problem and >> >can help me out! >> >> >> >>Basically, I can't set maxProcessors higher than 384. If I do, Tomcat We have a system with 512 maxProcessors, using 1G heap, and it's been running fine in production for a couple of months now (stopping only to update tomcat from 4.1.24 to 4.1.27). It's handled up to about 400 concurrent requests, but I picked 512 as the maxProcessors value to leave some overhead for peak times. So 384 is not a magical bottleneck, at least for us, not can I find any code references that would suggest that it is ;) What about your thread limits? All the limits controlled by ulimit? Could it be you're hitting those (the "resource constraints" part of your error message) as opposed to running out of memory? Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]