You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by pr...@samea.de on 2010/05/25 11:26:20 UTC

Too many open files

Hello,

I have a problem with my little CORBA-Servlet.
Allways I get this error:

java.net.SocketException: Too many open files
	sun.nio.ch.Net.socket0(Native Method)
	sun.nio.ch.Net.socket(Net.java:97)
	sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
	sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:37)
	java.nio.channels.SocketChannel.open(SocketChannel.java:105)
	java.nio.channels.SocketChannel.open(SocketChannel.java:145)
	com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60)
com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188)
	com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218)
	com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101)
	com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
	com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118)
	com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:211)
	org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)

I use: Tomcat 6.0.26 on Linux JVM: 1.6.0_20-b02

Thanks for your help.

br,

Markus 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Too many open files

Posted by Rainer Jung <ra...@kippdata.de>.
On 25.05.2010 11:54, André Warnier wrote:
> privat@samea.de wrote:
>> Hello,
>>
>> I have a problem with my little CORBA-Servlet.
>> Allways I get this error:
>>
>> java.net.SocketException: Too many open files
>> sun.nio.ch.Net.socket0(Native Method)
>> sun.nio.ch.Net.socket(Net.java:97)
>> sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
>> sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:37)
>>
>> java.nio.channels.SocketChannel.open(SocketChannel.java:105)
>> java.nio.channels.SocketChannel.open(SocketChannel.java:145)
>> com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60)
>>
>> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188)
>>
>> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218)
>>
>> com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101)
>>
>> com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
>>
>> com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118)
>>
>> com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:211)
>>
>> org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
>>
>> I use: Tomcat 6.0.26 on Linux JVM: 1.6.0_20-b02
>>
> At first sight, it doesn't look as if this is a Tomcat issue. It seems
> more of an issue within your servlet.
> Is this servlet opening its own connection to something else?
> If yes, then you probably forget to close this connection when you are
> done with it, and they accumulate until the OS tells your process that
> it has too many open sockets at the same time.
>
> Doing a "netstat -an" would probably provide more information.
>
> If you are under Unix/Linux, you can also try "lsof", but only studying
> the options is already quite a challenge.

On Linux you can get the most important file descriptor info also by 
looking at the proc filesystem. If your process has process id (PID) 
XYZ, then do:

    ls -l /proc/XYZ/fd

It will list all open file descriptors, so you can find out, why there 
are so many open ones (are they files, sockets, ...). If they are 
sockets, you can list the association betweeb the sockets and the PID 
(=XYZ) using

    netstat -anp

Finally if you think you will need only a bit more descriptors, then 
have a look at the "ulimit" command (man ulimit). There are hard and 
soft limits. You can look at the active limits with "ulimit -a" and 
"ulimit -H -a". The one you are interested in is "open files". You might 
be able to set another limit with "ulimit -n".

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Too many open files

Posted by André Warnier <aw...@ice-sa.com>.
privat@samea.de wrote:
> Hello,
> 
> I have a problem with my little CORBA-Servlet.
> Allways I get this error:
> 
> java.net.SocketException: Too many open files
>     sun.nio.ch.Net.socket0(Native Method)
>     sun.nio.ch.Net.socket(Net.java:97)
>     sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
>     sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:37) 
> 
>     java.nio.channels.SocketChannel.open(SocketChannel.java:105)
>     java.nio.channels.SocketChannel.open(SocketChannel.java:145)
>     com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60) 
> 
> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188) 
> 
>     com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218) 
> 
>     com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101) 
> 
>     com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152) 
> 
>     com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118) 
> 
>     com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:211) 
> 
>     org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
> 
> I use: Tomcat 6.0.26 on Linux JVM: 1.6.0_20-b02
> 
At first sight, it doesn't look as if this is a Tomcat issue.  It seems 
more of an issue within your servlet.
Is this servlet opening its own connection to something else?
If yes, then you probably forget to close this connection when you are 
done with it, and they accumulate until the OS tells your process that 
it has too many open sockets at the same time.

Doing a "netstat -an" would probably provide more information.

If you are under Unix/Linux, you can also try "lsof", but only studying 
the options is already quite a challenge.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Too many open files

Posted by Pid <pi...@pidster.com>.
On 25/05/2010 10:26, privat@samea.de wrote:
> Hello,
> 
> I have a problem with my little CORBA-Servlet.
> Allways I get this error:
> 
> java.net.SocketException: Too many open files
>     sun.nio.ch.Net.socket0(Native Method)
>     sun.nio.ch.Net.socket(Net.java:97)
>     sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:84)
>     sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:37)
> 
>     java.nio.channels.SocketChannel.open(SocketChannel.java:105)
>     java.nio.channels.SocketChannel.open(SocketChannel.java:145)
>     com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:60)
> 
> com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:188)
> 
>     com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:218)
> 
>     com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:101)
> 
>     com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
> 
>     com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:118)
> 
>     com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:211)
> 
>     org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
> 
> I use: Tomcat 6.0.26 on Linux JVM: 1.6.0_20-b02
> 
> Thanks for your help.

Please start a completely new email, rather than replying to an existing
one and editing the subject & body - which is called thread-hijacking.


p

> br,
> 
> Markus
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>