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