2010-08-13 63 views
7

我得到以下使用Tomcat一天後:tomcat的文件太多

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) 

整個應用程序是沒有結束的流幾次審查。

使用tomcat 5.5.30和JRE 6u21。不使用AntiJarLocking和AntiResourceLocking(任何組合導致相同的事情)。

是否有一個Java工具來跟蹤在Java代碼中打開可關閉流的代碼?這些管道是什麼?難道是到數據庫服務器(使用C3P0)在UNIX®和Linux®操作系統發生

阿瑟

+0

也許'strace'工具將爲您提供一些線索。 (見這裏http://serverfault.com/questions/222669/how-do-i-run-strace-or-ltrace-on-tomcat-catalina) – 2012-12-10 10:55:22

回答

1

在打開的文件太多消息未關閉連接。最大打開文件數的默認設置可能是太低

爲了避免這種情況,通過完成這些步驟增加最大打開的文件到8000:

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

更改指定NOFILES到價值的聲明。 可選:如果想使更改生效在當前會話中,鍵入

ulimit -n 8000.