码迷,mamicode.com
首页 > 其他好文 > 详细

文件句柄

时间:2020-03-14 13:16:14      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:keepaliv   设备   data   access   mat   referer   oct   its   events   

1,文件句柄

在linux/unix操作系统中一切皆文件,我们的设备是文件,文件是文件,文件夹也是文件。当我们用户每发起一次请求,就会产生一个文件句柄。文件句柄可以简单的理解为文件句柄就是一个索引。文件句柄就会随着请求量的增多,进程调用频繁增加,那么产生的文件句柄也就会越多。

系统默认对文件句柄是有限制的,不可能会让一个进程无限制的调用句柄。因为系统资源是有限的,所以我们需要限制每一个服务能够使用多大的文件句柄。操作系统默认使用的文件句柄是1024个句柄。

2、设置方式
  • 系统全局性修改

  • 用户局部性修改

  • 进程局部性修改

3、系统全局性修该和用户局部性修改

[root@nginx-server ~]# vim /etc/security/limits.conf 

#* 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*,root代表是root用户,*代表的是所有用户,后面的数字就是文件句柄大小。大家可以根据个人业务来进行设置。

[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 是在进程上面进行限制。

文件句柄

标签:keepaliv   设备   data   access   mat   referer   oct   its   events   

原文地址:https://www.cnblogs.com/wyglog/p/12491444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!