aix上tomcat出现“too many open files”错误

现象:

    tomcat设置的线程数为2000. 

   对tomcat进行并发2000的报文请求。

   catalina.2012-10-25.log中出现如下错误:

2012-10-25 14:28:08 org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
Throwable occurred: java.net.SocketException: Too many open files
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:451)
        at java.net.ServerSocket.implAccept(ServerSocket.java:464)
        at java.net.ServerSocket.accept(ServerSocket.java:432)
        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:736)



处理:

1.执行ulimit -a,可以看到如下信息:

time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         131072
stack(kbytes)        32768
memory(kbytes)       32768
coredump(blocks)     unlimited
nofiles(descriptors) 2000
threads(per process) unlimited
processes(per user)  unlimited

即,允许一个进程打开的文件是为2000(nofiles)。


2.

1)执行:cd ~

2)执行vi .profile

3)在行尾加入一行:ulimit -n unlimited。




你可能感兴趣的:(aix上tomcat出现“too many open files”错误)