linux 修改 限制文件打开最大数 ulimit 永久生效

linux 修改 限制文件打开最大数 ulimit 永久生效

作者:myadmin |  时间:2015-07-14 |  浏览:4748 |  0 条评论

linux 修改 限制文件打开最大数 ulimit 永久生效

接着上篇文章说

Linux系统默认一个进程最大打开文件数目是1024

[root@cangku-16-132 log]# ulimit -n
1024
[root@cangku-16-132 log]# ulimit -n 2500
[root@cangku-16-132 log]# ulimit -n
2500

像上面这种模式修改 ulimit 只能在本次打开的终端生肖,关闭该终端或者重启服务器,该配置都会失效。

那如何使该配置永久生肖呢?一般情况下,我们通过修改系统限制文件来彻底增大 ulimit 中 open files 的值

[root@cangku-16-132 ~]# 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) 127369
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
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) 127369
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

系统总限制是在这里,/proc/sys/fs/file-max,可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制。

另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量。

方法一:直接在 /etc/security/limits.conf (这个文件是limits的配置文件) 文件最后增加如下语句

* hard nofile 2500
* soft nofile 2500

或者

echo -ne "
* hard nofile 32768 * soft nofile 65536 ">> /etc/security/limits.conf

就可以将文件句柄限制统一改成软32768、硬65536。配置文件最前面的是指domain,设置为星号代表全局,另外你也可以针对不同的用户做出不同的限制。

注意:这个当中的硬限制是实际的限制,而软限制,是warnning限制,只会做出warning.其实ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软。(ulimit -Hn/-Sn)

默认显示的是软限制,如果运行ulimit命令修改的时候没有加上的话,就是两个参数一起改变。

此法不需要重启机器,重启终端即可,可对所有账户生效。甚好!

方法二:此法修个的文件比较多

第一步:vim 打开 /etc/security/limits.conf 文件,最后一行增加

* – nofile 2500  (注意:- 前后都有空格,这个表示soft 和 hard 同时修改)

这句话的意思是, 系统的每一个账户默认一个进程打开文件数为2500 。 

* 也可以修改为单一的用户名,例如 root 或者 www 等其他系统账户

第二步:vim 打开 /etc/sysctl.conf 文件,最后一行增加

fs.file-max=2500

第三步:重启服务器,查看修改是否生效

备注:如果你使用squid的话,你要在/etc/init.d/squid的文件加入ulimit -HSn 65535.另外,在squid.conf中也要加入max_filedesc 16384。

参考文献:http://www.jbxue.com/LINUXjishu/1250.html

linux 修改 限制文件打开最大数 ulimit 永久生效

标签:

相关推荐
更多

发表评论