2010-08-13 7 views
7

je reçois, après une journée en utilisant tomcat:tomcat trop de fichiers

java 25006 root 996r FIFO  0,6   894580 pipe 
java 25006 root 997w FIFO  0,6   894586 pipe 
java 25006 root 998r FIFO  0,6   894587 pipe 
java 25006 root 1000r FIFO  0,6   894588 pipe 
java 25006 root 1001w FIFO  0,6   894599 pipe 
java 25006 root 1002r FIFO  0,6   894600 pipe 
java 25006 root 1003r REG  254,6  0 8570556 /usr/share/apache-tomcat-5.5.30/temp/prn1614392207033974759xc (deleted) 
java 25006 root 1004r FIFO  0,6   894601 pipe 
java 25006 root 1005w FIFO  0,6   894607 pipe 
java 25006 root 1006r FIFO  0,6   894608 pipe 
java 25006 root 1007r REG  254,6  0 8570557 /usr/share/apache-tomcat-5.5.30/temp/prn1736781771548325427xc (deleted) 
java 25006 root 1008r FIFO  0,6   894609 pipe 
java 25006 root 1009w FIFO  0,6   894617 pipe 
java 25006 root 1010r FIFO  0,6   894618 pipe 
java 25006 root 1011r REG  254,6  0 8570558 /usr/share/apache-tomcat-5.5.30/temp/prn8390558105456339721xc (deleted) 

L'application a été revu pour les flux plusieurs fois non fermées.

En utilisant tomcat 5.5.30 et JRE 6u21. Ne pas utiliser AntiJarLocking et AntiResourceLocking (toute combinaison aboutit à la même chose).

Existe-t-il un outil java pour traquer le code qui permet d'ouvrir les flux pouvant être fermés dans le code Java? Quels sont ces tuyaux? Se pourrait-il des connexions non fermées au serveur de base de données (en utilisant C3P0)

Arth

+0

Peut-être que l'utilitaire 'strace' vous fournira quelques indices. (voir ici http://serverfault.com/questions/222669/how-do-i-run-strace-or-ltrace-on-tomcat-catalina) –

Répondre

1

Le trop grand nombre de messages fichiers ouverts se produit sur les systèmes d'exploitation UNIX et Linux. Le paramètre par défaut pour le nombre maximal de fichiers ouverts peut être trop faible.

Pour éviter cette condition, augmenter les fichiers ouverts à un maximum de 8000 en procédant comme suit:

Edit the /etc/security/limit.conf file. 

Modifiez l'instruction qui spécifie la valeur de nofiles à . Facultatif: Si vous voulez que la modification prenne effet dans la session en cours, le type

ulimit -n 8000. 
Questions connexes