Mina 2.0.8을 사용할 때 우분투에서 열 수있는 소켓 수를 늘리려면 어떻게해야합니까? 내 서버가 ~ 1700 회 정도 연결되면 로그에 다음과 같이 표시됩니다. Ubuntu에서 Mina를 사용하여 사용 가능한 소켓을 늘리는 방법은 무엇입니까?
2013-01-24 04:21:49,465 [NioSocketAcceptor-1] WARN o.a.m.util.DefaultExceptionMonitor - Unexpected exception.
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) ~[na:1.6.0_20]
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:163) ~[na:1.6.0_20]
at org.apache.mina.transport.socket.nio.NioSocketAcceptor.accept(NioSocketAcceptor.java:159) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
at org.apache.mina.transport.socket.nio.NioSocketAcceptor.accept(NioSocketAcceptor.java:50) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.processHandles(AbstractPollingIoAcceptor.java:506) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:447) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.8-SNAPSHOT.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.6.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.6.0_20]
at java.lang.Thread.run(Thread.java:636) [na:1.6.0_20]
파일 핸들이 하드 및 소프트에 대해 최대 331278로 설정되어있을 때 어떻게 가능합니까? 는 실행 "ulimit를 -n은"
331287
실행은 "sysctl을가 fs.file-NR"는 /etc/security/limits.conf 파일의
fs.file-nr = 1728 0 331287
내용을보고보고
* hard nofile 331287 * soft nofile 331287
웹 응용 프로그램을 실행하는 사용자에 대한 제한이 올바르게 설정되어 있습니까? ulimits는 사용자별로 설정됩니다. – user439407
한계를'limits.conf'로 설정하려고 시도 했습니까? 어쩌면'ulimit -n'으로 보는 것은 현재의 쉘 사용자 만 유효하지만 Mina 데몬을 실행하는 사용자는 유효하지 않습니다 –
위의 한계 내용을 추가했습니다; 데몬은 sudo를 사용하여 init.d를 통해 시작합니다. –