文件句柄
Posted wyglog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件句柄相关的知识,希望对你有一定的参考价值。
在linux/unix操作系统中一切皆文件,我们的设备是文件,文件是文件,文件夹也是文件。当我们用户每发起一次请求,就会产生一个文件句柄。文件句柄可以简单的理解为文件句柄就是一个索引
。文件句柄就会随着请求量的增多,进程调用频繁增加,那么产生的文件句柄也就会越多。
系统默认对文件句柄是有限制的,不可能会让一个进程无限制的调用句柄。因为系统资源是有限的,所以我们需要限制每一个服务能够使用多大的文件句柄。操作系统默认使用的文件句柄是1024个句柄。
2、设置方式
-
系统全局性修改
-
-
进程局部性修改
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
#root只是针对root这个用户来限制,soft只是发提醒,操作系统不会强制限制,一般的站点设置为一万左右就ok了
root soft nofile 65535
root hard nofile 65535
# *代表通配符 所有的用户
* soft nofile 25535
* hard nofile 25535
[root@nginx-server ~]# vim /etc/nginx/nginx.conf
user nginx;
worker_processes 1;
?
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
?
worker_rlimit_nofile 65535; #进程限制
?
events {
worker_connections 1024;
}
?
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
?
log_format main ‘$http_user_agent‘ ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for" ‘
‘"$args" "$request_uri"‘;
?
access_log /var/log/nginx/access.log main;
?
sendfile on;
#tcp_nopush on;
?
keepalive_timeout 65;
?
#gzip on;
?
include /etc/nginx/conf.d/*.conf;
}
worker_rlimit_nofile
以上是关于文件句柄的主要内容,如果未能解决你的问题,请参考以下文章