关于文件描述

Yishto 2021-08-20 21:47:15
Categories: Tags:

如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示.

lsof(list open files)是一个列出当前系统打开文件的工具

查看当前占用文件的所有进程号

1
2
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more

  1. 用户级别
1
2
3
a.临时生效
ulimit -SHn 65535 //H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量

1
2
3
4
b. 开机自启(永久生效)
echo ulimit -SHn 65535 >> /etc/profile
source /etc/profile

1
2
3
4
5
6
7
8
9
10
11
c. (修改配置)(永久生效)
vim /etc/security/limits.conf

* soft nproc 11000 //单个用户可用的最大进程数量(软限制)
* hard nproc 11000 //单个用户可用的最大进程数量(硬限制)
* soft nofile 655350 //可打开的文件描述符的最大数(软限制)
* hard nofile 655350 //可打开的文件描述符的最大数(硬限制)

//硬限制就是实际的限制,而软限制是警告限制,它只会给出警告
* 表示所用的用户

  1. 系统级别
1
2
3
4
vim  /etc/sysctl.conf

 fs.file-max = 6553560 (重启生效)