1. 程式人生 > >linux下tomcat之too many open files

linux下tomcat之too many open files

設置 inux roc spa ava linux 執行 java 使用命令

一、問題表象:

  程序日誌報錯:java.io.IOException: Too many open files at

二、解決方案:

  1、查看系統允許打開的最大文件數:
    cat /proc/sys/fs/file-max
  2、查看每個用戶允許打開的最大文件數:
    ulimit -a
  3、發現系統默認的是open files (-n) 1024,問題就出現在這裏。
    在系統文件/etc/security/limits.conf中修改這個數量限制, 在文件中加入內容:
      * soft nofile 65536
      * hard nofile 65536
    另外方法:
      1、使用ps -ef |grep java (java代表你程序,查看你程序進程) 查看你的進程ID,記錄ID號,假設進程ID為12
      2、使用lsof -p 12 | wc -l

查看當前進程id為12的 文件操作狀況
        執行該命令出現文件使用情況為 1052
      3、使用命令ulimit -a 查看每個用戶允許打開的最大文件數
        發現系統默認的是open files (-n) 1024,問題就出現在這裏。
      4、然後執行ulimit -n 4096
        將open files (-n) 1024 設置成open files (-n) 4096

摘抄自:https://www.aliyun.com/jiaocheng/120721.html

linux下tomcat之too many open files