我们在负载较大的服务器时,经常会很容易遇到error: too many open files。这是因为Linux 系统中,新装的linux默认只有1024,因此,需要将其改大。方法如下:
在/etc/profile 中增加一行 ulimit -SHn 65535
1.我们先查看一下默认的连接数是多少,输入命令:ulimit -a,如下图:
我们可以看到系统默认的就是1024.
2.修改/etc/profile
在虚拟机上面输入vi /etc/profile 然后再文本末追加一行ulimit -SHn 65535 ,如下图:
这里要说明的一点是如果要立即生效的话需要执行一下source /etc/profile,这样让我们修改的配置生效。从上面的返回信息,我们已经将其连接数调到最大了。
题外话,之前看到有些教程有下面的这三种方法:
1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最后增加如下两行记录
soft nofile 65535
hard nofile 65535
我这里测试了一下另外两种方法,不知道是我系统的问题还是方法有问题,另外两种不生效,所以如果你使用我这种方法不生效可以试试另外两种,其实CentOS ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软默认显示的是软限制。如果运行CentOS ulimit命令修改的时候没有加上的话,就是两个参数一起改变,需要生效,修改完重新登录就可以见到.好了本次教程到此结束,good luck!