2013-11-04 15 views
5

Tomcat chạy trên máy trạm của tôi trong vài ngày, bây giờ nó không có phản hồi, kết quả đầu ra lệnh lsof rất nhiều kết nối trạng thái close_wait, tomcat pid là 25422, tuy nhiên ulimit lệnh cho thấy rằng "tập tin mở" là 1024, làm thế nào điều này có thể xảy ra?Tại sao lsof báo cáo số tệp mở cao hơn đầu ra "mở tệp" của 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

Tôi có một số vấn đề, bạn có tìm lý do có thể? – snow8261

+0

Xem http://serverfault.com/q/396872 và http://superuser.com/q/579692 để biết một số câu trả lời – JoseK

Trả lời

0

Đối với các tệp đang mở, chúng tôi có giới hạn tệp mềm/cứng mở trên os linux.

Nếu đạt đến giới hạn mềm, nó sẽ chỉ mở rộng giới hạn đến giới hạn cao hơn nhưng dưới Giới hạn cứng.

Bằng cách kiểm tra giới hạn cứng, bạn chỉ có thể chạy:

# ulimit -Hn 

Đây cũng là một bài viết có thể giúp bạn hiểu thêm:

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

Các vấn đề liên quan