动态修改进程最大文件打开数

1、前言

有些生产环境的服务不能随便重启,最大文件打开数受到限制。
本文利用Prlimit动态修改正在运行进程最大文件打开数。
本文以修改nginx最大文件打开数为例。

2、实践

# 当前系统最大文件打开数
[root@vm-CentOS750221 ~]# ulimit -a|grep open
open files                      (-n) 2048

# 查看nginx的PID
[root@vm-CentOS750221 ~]# ps -ef|grep nginx
nobody   22183 32546  0 09:30 ?        00:00:00 nginx: worker process
nobody   22184 32546  0 09:30 ?        00:00:00 nginx: worker process
root     32546     1  0 9月03 ?       00:00:00 nginx: master process ../sbin/nginx

# 查看nginx的最大文件打开数
[root@vm-CentOS750221 ~]# cat /proc/32546/limits |grep open
Max open files            2048                65536                files  

# 查看指定进程限制
[root@vm-CentOS750221 ~]# prlimit --pid 32546
RESOURCE   DESCRIPTION                             SOFT      HARD UNITS
AS         address space limit                unlimited unlimited 字节
CORE       max core file size                         0 unlimited 块
CPU        CPU time                           unlimited unlimited 秒数
DATA       max data size                      unlimited unlimited 字节
FSIZE      max file size                      unlimited unlimited 块
LOCKS      max number of file locks held      unlimited unlimited 
MEMLOCK    max locked-in-memory address space     65536     65536 字节
MSGQUEUE   max bytes in POSIX mqueues            819200    819200 字节
NICE       max nice prio allowed to raise             0         0 
NOFILE     max number of open files               65536     65536 
NPROC      max number of processes                63458     63458 
RSS        max resident set size              unlimited unlimited 页数
RTPRIO     max real-time priority                     0         0 
RTTIME     timeout for real-time tasks        unlimited unlimited 毫秒数
SIGPENDING max number of pending signals          63458     63458 
STACK      max stack size                       8388608 unlimited 字节

# 修改指定进程的最大文件打开数
[root@vm-CentOS750221 ~]# prlimit --pid 32546 --nofile=65535

# 验证是否成功
[root@vm-CentOS750221 ~]# prlimit --pid 32546 |grep NOFILE
NOFILE     max number of open files               65535     65535 


你可能感兴趣的:(动态修改进程最大文件打开数)