日期:2014-05-16  浏览次数:20622 次

Linux “Too many open files” 问题

??????? 做一个项目,由于要连接数据库,连接ttserver,连接solr,连接文件等一系列的连接问题,所以报出来Too many open files的异常。

??????? 解决方法很简单,在启动项目之前,先输入命令ulimit -SHn 文件数。其中连接数是喜欢设置成的最大可以打开的文件数量。

??????? ulimit命令ubuntu下只能在root账户下用,不过写入脚本然后sudo可以。

?

  • 查看一个进程的连接数的命令是lsof。
  • 可以先找一下:whereis lsof
  • 然后进入到所在文件夹输入:lsof -p 进程号 | wc -l,可以看到此进程连接了多少个文件了。
  • 之后用命令:/proc/进程号/limits可以查看到此进程的一些相关信息,其中包括此进程的最大允许打开的文件数。