linux 修改 限制文件打开最大数 ulimit 永久生效
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 永久生效
相关推荐
- mongoDB常用操作命令 终端常用操作命令
- Posted on 07月15日
- Linux系统自带logtotate 实现日志切分
- Posted on 08月21日
- linux双网卡配置内网
- Posted on 07月07日
- 牛叉的js效果
- Posted on 12月14日