您的位置:首页 > 运维架构 > Linux

linux之Too many open files问题-修改linux最大文件句柄数

2016-05-30 13:16 387 查看
linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一。

在linux中执行ulimit -a 即可查询linux相关的参数,如下所示:
[root@dbtest ~]# ulimit -a
open files (-n) 1024

默认情况下,linux最大文件句柄数为1024个。当你的服务器在大并发达到极限时,就会报出“too many open files”。
那么如何修改linux最大文件句柄数呢?其实很简单:

1、临时生效方法

这命令就可以修改linux最大文件句柄数,修改以后使用ulimit -a 查看修改的状态,如:
[root@dbtest ~]# ulimit -n 65536
[root@dbtest ~]# ulimit -a
open files (-n) 65536

[root@dbtest ~]# ulimit -n
65536
但是,这种方法只针对当前进程有效。重新打开一个shell或者开启一个进程,你就会发现参数还是ulimit -n xx修改之前的数字。

2、修改linux系统参数。vi /etc/security/limits.conf 添加
*  soft  nofile  65536
*  hard  nofile  65536
注:"*"表示对所有用户生效,如果只需要对某个用户生效,只需要将"*"改为某个用户名。
修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了:
[root@dbtest ~]# ulimit -a
open files (-n) 65536

注:
硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。
可以最大设到:
655350
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  open max files