On closer inspection there are even more sockets open: For example I have 20,000 open sockets: 12000 are in ESTABLISHED and 8000 are in CLOSE_WAIT.
Regards, David On Mon, 2006-11-27 at 12:26 +0000, David Cotter wrote:
> Hi there, > > I am having a problem with too many open files on my server. I am using > HttpClient v.3.0 and the server application is a proxy web app that > retrieves the content using HttpClient and passes it back to the user using > a Tomcat servlet. I am serving 1000s of different users with several sever > requests per second. As time goes on the JVM memory usage steadily increases > as the number of open files/sockets in CLOSE_WAIT state on the Linux machine > increases. I can see from inspection that many of the open files are socket > connection to third party sites opened with HttpClient. > > For every method executed I use a shared MultiThreadedHttpConnectionManager > and always call method.releaseConnection(). > > I have instantiated IdleConnectionTimeoutThread and also have another > thread that occasionally calls: > multiThreadedHttpConnectionManager.closeIdleConnections (idleTimeoutMillis); > multiThreadedHttpConnectionManager.deleteClosedConnections(); > > I have overridden MultiThreadedHttpConnectionManager.releaseConnection() > and included a connection.close() in this function but have not seen any > results - always steadily increasing open files. > > I have seen reference to overriding > MultiThreadedHttpConnectionManager.releaseConnection () to force sockets to > close on this list but nothing concrete as to what to put in the overrided > function. > > I would appreciate any help on this. > > Regards, > David
