隨筆 - 0, 文章 - 264, 評論 - 170, 引用 - 0
          數據加載中……

          java.net.SocketException: Too many open files


            tomcat與apache整合的時候,在tomcat/conf/server.xml中配置ajp最大連接參數maxThreads為1024。然后重啟服務器,當線程數達到1024峰值的時候,報java.net.SocketException: Too many open files錯誤。
           

            以下為網上摘抄的解決方案與解惑:

            在Unix/Linux系統中,無論是socket還是file訪問,在后臺為該訪問程序分配了一個文件描述符(descriptor),該文件描 述符為應用程序與基礎操作系統之間的交互提供了通用接口。Unix/Linux系統對每個進程能打開文件描述符有最大限制,一般默認是1024。如果在操 作socket和file的時候忘記關閉,當超過系統默認的最大限制,則出現java.net.SocketException: Too many open files。

           
          查看系統默認文件描述符的最大限制數
          #ulimit 
          -a
          core file size          (blocks, 
          -c) 0
          data seg size           (kbytes, 
          -d) unlimited
          file size               (blocks, 
          -f) unlimited
          pending signals                 (
          -i) 1024
          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
          stack size              (kbytes, 
          -s) 10240
          cpu time               (seconds, 
          -t) unlimited
          max user processes              (
          -u) 32764
          virtual memory          (kbytes, 
          -v) unlimited
          file locks                      (
          -x) unlimited

          查看某一進程打開的文件描述符
          #lsof 
          -p 進程ID
          java    
          12451 root    1w   REG    8,2     6130    2297363 /opt/log.txt
          java    
          12451 root   43u  sock    0,5             6741803 can't identify protocol


            針對這個問題,解決辦法如下:

          ulimit -2048 增加文件描述符最大數


            就我目前遇到的問題,的確是因為socket打開連接太多了。

            當然,網上其他人說的,諸如文件流沒有關閉,也可能會導致這個問題。如果是這種情況,請檢查程序,把不必要的socket或file操作關閉掉即可解決。


          posted on 2010-09-09 10:12 小一敗涂地 閱讀(4738) 評論(0)  編輯  收藏 所屬分類: tomcat、apache、jboss等服務器相關

          主站蜘蛛池模板: 泽州县| 章丘市| 伊金霍洛旗| 那坡县| 凤山市| 双江| 扬州市| 淄博市| 寿光市| 沂水县| 洞口县| 彭山县| 桓台县| 廊坊市| 仙桃市| 桐城市| 五大连池市| 综艺| 奈曼旗| 甘谷县| 金乡县| 彰化县| 竹溪县| 桂平市| 兰西县| 清流县| 越西县| 孟村| 元氏县| 沈阳市| 临湘市| 唐河县| 安西县| 波密县| 晋宁县| 民和| 凭祥市| 娄底市| 商水县| 张家口市| 苏尼特左旗|