linux修改最大文件链接数open files/ulimit -n

使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。

 

新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。

使用 ulimit -n 65536 可即时修改,但重启后就无效了。(注ulimit -SHn 65536 等效 ulimit -n 65536,-S指soft,-H指hard)

有如下三种修改方式:

1.在/etc/rc.local 中增加一行 ulimit -SHn 65536
2.在/etc/profile 中增加一行 ulimit -SHn 65536
3.在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65536
* hard nofile 65536

具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果

其实CentOS ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软默认显示的是软限制,如果运行CentOS ulimit命令修改的时候没有加上的话,就是两个参数一起改变.生效
修改完重新登录就可以见到.(我的系统是CentOS5.1.修改了,重新登录后就立刻生效.可以用CentOS ulimit -a 查看确认.)

 

[root@dev ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 17513
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 17513
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

如果用root设置完,其他用户应该断开ssh连接再连,就能看到变化了,

如果经过“堡垒机”,断开连接重连还是不行,可以重启sshd服务

service sshd restart

你可能感兴趣的:(linux修改最大文件链接数open files/ulimit -n)