linux系统默认打开文件数是1024,这对服务器来说,数值太低了,经常报Too many open files这个错,所以要手动修改这个值。
1、使用ulimit -a可以查看目前服务器的资源限制情况:
其中的open file就是打开的文件数,从中看到可以使用-n进行设置,也可以使用ulimit -n直接查看打开文件数的限制数
2、设置系统root有效的打开文件数限制
vi /etc/security/limits.conf
添加如下内容:
然后运行ulimit -n 131072设置,这是为了在当前会话中生效。
limits.conf 在下次登录后就会生效。
附上ulimit的部分参数,可对应第一张图:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c
size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f
size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m
size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p
size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t
size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes