在CentOS下运行Java程序时经常会由于一些原因导致出现Too many open files的异常。例如跑Solr全文检索服务器或者通过HttpClient采集信息时。原因是由于linux的files-max默认值为1024,为了解决这个问题,需要调高Linux的最大打开文件数,可以通过root用户输入下面命令调高。
1
ulimit -n 65535
这种方式系统重启以后还要再输入该命令,所以需要让系统启动的时候设置最大文件打开数,需要打开/etc/security/limits.conf文件,增加一行
1
2
#<domain> <type> <item> <value>
* - nofile 65535
查看limits.conf文件的说明信息,nofile表示最大文件打开数。
yum install lsof
查看所有进程的文件打开数
lsof |wc -l
查看某个进程打开的文件数
lsof -p pid |wc -l
1
ulimit -n 65535
这种方式系统重启以后还要再输入该命令,所以需要让系统启动的时候设置最大文件打开数,需要打开/etc/security/limits.conf文件,增加一行
1
2
#<domain> <type> <item> <value>
* - nofile 65535
查看limits.conf文件的说明信息,nofile表示最大文件打开数。
yum install lsof
查看所有进程的文件打开数
lsof |wc -l
查看某个进程打开的文件数
lsof -p pid |wc -l