java.net.SocketException: 開啟的檔案過多

來源:互聯網
上載者:User

標籤:伺服器   linux   異常   io   

  大多數原因是因為程式沒有關閉開啟的資源串連, 如RMI、資料庫等串連才導致的。 當然也有可能能同時有超過Linux本身預設的檔案開啟數。



一、 先從Linux設定入手


(1) ulimit -a (查看資源設定情況)

core file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -f) unlimitedpending signals                 (-i) 30525max locked memory       (kbytes, -l) 64max memory size         (kbytes, -m) unlimitedopen files                      (-n) 1024pipe size            (512 bytes, -p) 8POSIX message queues     (bytes, -q) 819200real-time priority              (-r) 0stack size              (kbytes, -s) 10240cpu time               (seconds, -t) unlimitedmax user processes              (-u) 1024virtual memory          (kbytes, -v) unlimitedfile locks                      (-x) unlimited
open files預設是1024


為了使伺服器重啟設定還能生效, 採取永久改變的方法。

vim /etc/security/limits.conf

在文檔最後添加

* soft nofile 65535* hard nofile 65535



(2) vim  /etc/pam.d/login

在文檔最後添加

session required /lib/security/pam_limits.so



二、 程式

記得在finally語句塊裡面關閉資源串連, 如:

finally{if (connector != null) {connector.close();}}





java.net.SocketException: 開啟的檔案過多

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.