发布于: 2022-05-23 02:25:25

查看系统最大文件打开数量

#ulimit -n

#ulimit –u

1024

说明 server 只允许同时打开 1024 个文件,处理 1024个用户进程

使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。

新装的linux 默认只有1024 ,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。

解决方法:

使用 ulimit –n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit-n 65535 ,-S 指soft ,-H 指hard)

有如下三种修改方式:

1. 在/etc/rc.local 中增加一行 ulimit -SHn 65535
2. 在/etc/profile 中增加一行 ulimit -SHn 65535
3. 在/etc/security/limits.conf最后增加:

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

ulimit 命令本身就有分软硬设置,加-H 就是硬,加-S 就是软默认显示的是软限制

soft 限制指的是当前系统生效的设置值。 hard 限制值可以被普通用户降低。但是不能增加。 soft 限制不能设置的比hard 限制更高。 只有 root 用户才能够增加 hard 限制值。




worker_processes 表示nginx进程数,一般为cpu核心数量指定

worker_cpu_affinity 每个nginx进程分配到每个cpu核心上

worker_rlimit_nofile 一个nginx 进程打开的最多文件描述符数目

nginx系统使用epoll模型 ,不要使用select、poll标准事件模型

worker_connections 每个进程允许的最多连接数, 理论上每台nginx服务器的最大连接数为worker_processes*worker_connections     

keepalive_timeout   keepalive 超时时间

client_header_buffer_size 客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小分页大小可以用命令getconf PAGESIZE 取得

open_file_cachemax=65535 inactive=60s;

这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。



延伸阅读
    发表评论