2012-03-13 2 views
1

Мой английский, как ребенок 3 года.File pool (например, Connection Pool)

Недавно я сделал сайт с большим доступом к файлам.

К сожалению, мой коту дал мне это следующее сообщение об ошибке

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 

Это происходит, когда я отправить запрос на короткий промежуток времени, я думаю, там слишком много потока открыт для этой работы.

Кто-нибудь знает, как решить эту проблему.

My Environment are {tomcat 6.0.35, java 1.6.0_31, centos 5} А, Это происходит только в Linux;

спасибо.

+0

нужен мой сумасшедший источник, – jeon

+0

, пожалуйста, оставьте свой адрес электронной почты. – jeon

+0

Возможный дублированный [Linux: socket accept - «Слишком много открытых файлов»] (http://stackoverflow.com/q/880557/651140) –

ответ

0

Проверьте предел, выделяемую системой cat /proc/sys/fs/file-nr

(последний номер)

Выделяют больше, если необходимо

Edit /etc/sysctl.conf

Добавить/изменить fs.file-max = xxxxx

Применить изменения sysctl -p

Проверить cat /proc/sys/fs/file-max

Вы также могут иметь ограничения пользователей установлены.

+0

Когда я обновляю страницу, она становится больше. И я думаю, там моя проблема с источником. – jeon

+0

Вы уверены, что закрываете все свои потоки? –

+0

Спасибо тела. Это проблема потока. – jeon

Смежные вопросы