2012-03-13 3 views
1

Mon anglais est comme 3 ans bébé.Pool de fichiers (comme Pool de connexions)

Récemment, j'ai créé un site Web avec plusieurs accès aux fichiers.

Malheureusement, mon tomcat m'a donné ce message d'erreur suivant

Fatal: Socket accept failed 
java.net.SocketException: Too many open files 
     at java.net.PlainSocketImpl.socketAccept(Native Method) 
     at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408) 
     at java.net.ServerSocket.implAccept(ServerSocket.java:462) 
     at java.net.ServerSocket.accept(ServerSocket.java:430) 
     at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61) 
     at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352) 
     at java.lang.Thread.run(Thread.java:662) 
org.apache.tomcat.util.net.JIoEndpoint$Acceptor run 

Cela se produit lorsque j'envoie la demande en peu de temps, je pense qu'il y trop de flux ouvert pour ce travail.

Est-ce que quelqu'un sait comment résoudre ce problème?

Mon environnement sont {tomcat 6.0.35, java 1.6.0_31, centos 5} Ah, cela se produit uniquement sous Linux;

merci.

+0

besoin de ma folle source, – jeon

+0

s'il vous plaît laissez vous votre email. – jeon

+0

Possible dupliqué [Linux: socket accept - "Trop de fichiers ouverts"] (http://stackoverflow.com/q/880557/651140) –

Répondre

0

Vérifiez la limite allouée par le système cat /proc/sys/fs/file-nr

(dernier numéro)

Allouer plus si nécessaire

Modifier /etc/sysctl.conf

Ajouter/changement fs.file-max = xxxxx

Appliquer les modifications sysctl -p

Vérifier cat /proc/sys/fs/file-max

Vous pouvez également avoir des limites d'utilisation fixées.

+0

Au fur et à mesure que j'actualise la page Ça grossit. Et je pense qu'il y a mon problème de source. – jeon

+0

Êtes-vous sûr de fermer tous vos flux? –

+0

Merci corps. C'était un problème de flux. – jeon

Questions connexes