linux最大允许的文件描述符open files数nofile修改
2013-07-09 13:49
309 查看
open file resource limit 是linux中process可以打开的文件句柄数量。增加这个数值需要调整两个配置:
第一步,
修改系统最大允许的文件描述符
查看当前的设置:
$
cat /proc/sys/fs/file-max
2390251
或者
$
sysctl -a
fs.file-max
= 2390251
该系统是CentOS
5.x x64版本,安装好后没有做过优化设定, 2390251是其默认值
$
ulimit -n
1024
如果
/proc/sys/fs/file-max小于我们要设定的句柄数量,可以通过:
$echo
"2390251" > /proc/sys/fs/file-max
或者修改
/etc/sysctl.conf,在文件中修改fs.file-max的值(没有就创建一条)
修改完后可以通过
$
sysctl -p
使设置生效
2.
文件描述符修改后,需要调整针对用户或者组(user/group)的限制
/etc/security/limits.conf,文件格式为
<domain>
<type> <item> <value>
其中<type>为
soft或者hard,有些应用会自动把soft限制提升到hard限制,如java,至于nginx,没有看到相关的文档。
如:
*
- nofile 8192
表示对所有的用户,文件描述符可以用到
8192, 或者
user_abc
- nofile 8192
表示对用户
user_abc,文件描述符可以用到 8192
3.
有些情况 /etc/security/limits.conf并不会发生作用,如在 init.d 中启用的进程,或者daemons运行的进程。
此时比较有效的办法是在init的script中,明确命令
ulimit -n xxxxx
除了在系统中进行设定 nofile(fs.file-max) 值外,可以在 nginx.conf
中指定worker_process可以使用的nofile值,如:
#user nobody;
worker_processes 3;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
events {
use epoll;
worker_connections 8192;
}
重新加载nginx配置,使新设定生效。
第一步,
修改系统最大允许的文件描述符
查看当前的设置:
$
cat /proc/sys/fs/file-max
2390251
或者
$
sysctl -a
fs.file-max
= 2390251
该系统是CentOS
5.x x64版本,安装好后没有做过优化设定, 2390251是其默认值
$
ulimit -n
1024
如果
/proc/sys/fs/file-max小于我们要设定的句柄数量,可以通过:
$echo
"2390251" > /proc/sys/fs/file-max
或者修改
/etc/sysctl.conf,在文件中修改fs.file-max的值(没有就创建一条)
修改完后可以通过
$
sysctl -p
使设置生效
2.
文件描述符修改后,需要调整针对用户或者组(user/group)的限制
/etc/security/limits.conf,文件格式为
<domain>
<type> <item> <value>
其中<type>为
soft或者hard,有些应用会自动把soft限制提升到hard限制,如java,至于nginx,没有看到相关的文档。
如:
*
- nofile 8192
表示对所有的用户,文件描述符可以用到
8192, 或者
user_abc
- nofile 8192
表示对用户
user_abc,文件描述符可以用到 8192
3.
有些情况 /etc/security/limits.conf并不会发生作用,如在 init.d 中启用的进程,或者daemons运行的进程。
此时比较有效的办法是在init的script中,明确命令
ulimit -n xxxxx
除了在系统中进行设定 nofile(fs.file-max) 值外,可以在 nginx.conf
中指定worker_process可以使用的nofile值,如:
#user nobody;
worker_processes 3;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
events {
use epoll;
worker_connections 8192;
}
重新加载nginx配置,使新设定生效。
相关文章推荐
- 修改Linux系统下的最大文件描述符限制
- Linux修改进程能打开最大文件数(Could not set limit for ‘nofile’: Operation not permitted)
- centos之Too many open files问题-修改linux最大文件句柄数
- linux下设置最大文件打开数nofile及nr_open、file-max说明
- Linux最大文件句柄(文件描述符)限制和修改
- Linux 最大文件打开数nofile及nr_open、file-max介绍
- linux之Too many open files问题-修改linux最大文件句柄数
- linux下设置最大文件打开数nofile及nr_open、file-max说明
- 修改Linux系统下的最大文件描述符限制
- Linux下设置最大文件打开数nofile及nr_open、file-max
- 查看linux中内核最大允许打开的fd(文件描述符)
- Linux下修改当前用户的最大线程数和 open files
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- linux 修改最大文件描述符
- Linux下修改当前用户的最大线程数和 open files
- 修改Linux系统下的最大文件描述符限制
- 修改Linux系统下的最大文件描述符限制
- linux 最大文件打开数nofile及nr_open、file-max说明
- linux命令之修改系统允许进程打开文件描述符限制-ulimit