We're troubleshooting a severe problem in our production system. We get errors 
like this in tomcat:
SEVERE: Socket accept failed
    org.apache.tomcat.jni.Error: Too many open files

We're on linux and run lsof to show the files tomcat has open, which shows 
hundreds (763 in one example) of distinct open files for struts2-core-2.0.9.jar 
. The large number of these causes us to hit the limit on the number of open 
files (1024 by default). 

In a development setting, I run the following script to display open file 
handles to this jar every second:
[root]# while true; do lsof -p $TOMCAT_PID | grep struts2-core-2.0.9.jar | wc 
-l; sleep 1; done

When I go to our login page (a freemarker template served by a struts action) 
if I hit refresh on the page as quickly as I can, I see the numbers start at 2 
or 3 and then go up in jumps of 20 at a time (eg 23, 43, 63, 83). After a 
while, say 30 seconds, the number will drop again, perhaps due to garbage 
collection. It appears that under our production load, the increases are 
beating the decreases until we hit the open file limit. 

We have attempted to duplicate this with the struts showcase sample app. One 
user by simply hitting refresh a lot can make the file handle count go into the 
30's.

Any ideas on what could be happening? Any help is greatly appreciate -- this is 
causing us big problems.






      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping

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

Reply via email to