修改nginx的open files
修改服务的文件描述符应保证系统文件描述符
首先查看当前系统的文件描述符
[root@ali ~]# ulimit -n
65535
file-max 和 ulimit的区别
file-max是设置 系统所有进程一共可以打开的文件数量
ulimit 是设置当前shell以及由它启动的进程的资源限制
所以 当设置文件描述符的时候两个都要设置
修改file-max
vim /etc/sysctl.conf
添加 fs.file-max = 6553560
修改系统的openfiles
vim /etc/security/limits.conf
添加
* soft nofile 65535
* hard nofile 65535
ulimit -a 命令的输出信息:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited # 一个进程的数据段的最大值
scheduling priority (-e) 0
file size (blocks, -f) unlimited # Shell创建文件的最大体积, 1block = 512bytes
pending signals (-i) 1031426 # 最多允许多少个待处理的信号
max locked memory (kbytes, -l) 64 # 每个进程可以锁住的物理内存的最大值
max memory size (kbytes, -m) unlimited # 每个进程可以使用的常驻内存的最大值
open files (-n) 65536 # 每个进程可以同时打开的最大文件数, 不能是unlimited
pipe size (512 bytes, -p) 8 # 管道的最大值, 1block = 512bytes
POSIX message queues (bytes, -q) 819200 # POSIX的消息队列的最大值
real-time priority (-r) 0
stack size (kbytes, -s) 10240 # 单个进程能够使用的最大栈大小
cpu time (seconds, -t) unlimited # 单个进程的最大CPU时间, 也就是可使用CPU的秒数, 到硬极限时, 这个进程就会立即自杀; 到软极限时, 每秒发送一次限制超时信号SIGXCPU
max user processes (-u) 131072 # 单个用户可同时运行的最大进程数, 不能是unlimited
virtual memory (kbytes, -v) unlimited # 每个进程可使用的最大虚拟内存
file locks (-x) unlimited # 每个进程能锁住的最大文件个数
##################################################
修改nginx的文件描述符
查看nginx文件描述符
grep 'open files' /proc/$(cat /var/run/nginx.pid)/limits
Max open files 1024 4096 files
修改
vim /usr/lib/systemd/system/nginx.service
在[Service]模块下添加
LimitNOFILE=65535
systemctl daemon-reload
systemc restart nginx
grep 'open files' /proc/$(cat /var/run/nginx.pid)/limits
Max open files 65535 65535 files