文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。Unix 操作系统通常给每个进程能打开的文件数量强加一个限制。更甚的是,unix 通常有一个系统级的限制。
查看命令:
ulimit -n
在修改之前一般得到的结果是1024;
临时修改:
ulimit -HSn 65536
这样就增大了文件描述符的限制。
持久性修改有两种方法:
(1)将ulimit -HSn 65536写入对应用户的.bash_profile文件中,如/root/.bash_profile;
(2)将ulimit -HSn 65536写入到/etc/profile文件中,那么这个设置就对所有用户有效;
这样在下次进入系统是就不用再设置了。
上面这个方法对解决too many open file的错误很有效。
PS:如果你的进程是通过脚本启动的,当然也可以将
ulimit -HSn 65536
写到脚本文件中。
Let life be beautiful like summer flowers and death like autumn leaves.