今天组员在配置Jenkins,实然发现了很多Java File Exception,说too many files open. 我们马上联想到一定是达到了Linux的最大文件描述符数量的上限了。
Google了一下就知道了如何修改。首先这个设置分为两级,即System Level和Shell Level。
System Level设置
用下面的命令查看一下,
1 |
cat /proc/sys/fs/file-max |
然后用root权限修改/etc/sysctl.conf里的fs.file-max的值。CentOS 6的默认值是6百多万,一定是Shell Level太小了。
Shell Level设置
查看shell level能打开的数量用limit -n(bash: ulimit -n), 我们得到的结果是1024,确实太小。
要通过修改/etc/security/limits.conf文件,重新设置这个值。
在最后加上两句,
1 2 |
* soft nofile 8192 * hard nofile 8192 |
*是指对所有用户。