2013-11-04 11 views
5

Tomcat在我的工作站上运行了好几天,现在没有响应,lsof命令输出很多close_wait状态连接,tomcat pid是25422,但是ulimit命令显示“打开的文件”是1024,这怎么会发生?为什么lsof报告比ulimit的“打开文件”输出更高的打开文件编号

[[email protected] home]# lsof -p 25422 | wc -l 
10309 

[[email protected] home]# ulimit -a 
core file size   (blocks, -c) 0 
data seg size   (kbytes, -d) unlimited 
scheduling priority    (-e) 0 
file size    (blocks, -f) unlimited 
pending signals     (-i) 399360 
max locked memory  (kbytes, -l) 32 
max memory size   (kbytes, -m) unlimited 
open files      (-n) 1024 
pipe size   (512 bytes, -p) 8 
POSIX message queues  (bytes, -q) 819200 
real-time priority    (-r) 0 
stack size    (kbytes, -s) 10240 
cpu time    (seconds, -t) unlimited 
max user processes    (-u) 399360 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 
+0

我有一些问题,你找到可能的原因? – snow8261

+0

有关答案,请参阅http://serverfault.com/q/396872和http://superuser.com/q/579692 – JoseK

回答

0

对于打开的文件,我们在linux操作系统上有软/硬打开文件限制。

如果达到软限制,它只会将限制扩大到上限,但在硬限制下。

通过检查硬限制,你可以简单地运行:

# ulimit -Hn 

这里也是一个文章可以帮助您了解更多:

Guide to limits.conf/ulimit /open file descriptors under linux