linux打开文件限制,Linux打开文件数限制了解

一、说明

有的时候程序或者数据运行时会报too many open files,根本原因就是打开的文件超过了系统限制的数量。

二、查询

1、查询某个进程已经开启的文件句柄

lsof -p 进程pid | wc -l

查看所有进程各自打开的文件数

lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more

2、查看当前操作系统已经打开的文件总量

cat /proc/sys/fs/file-nr

注:第一个值是已开启的,第二个值是分配但未使用,第三个值是总限制数

3、查看操作系统允许打开的文件总量限制

cat /proc/sys/fs/file-max

4、查看进程可以打开的文件数量限制

ulimit -a

注:open files指限制每个进程可以最大打开的文件数

三、设置文件开启数量限制

1、限制某个用户的

vim /etc/security/limits.conf

root soft nofile 65535

root hard nofile 65535

*soft nofile 65535

*hard nofile 65535

注:第一行指root用户的每个进程可开启最大的文件数(软限制,只警告)

第二行指root用户的每个进程可开启最大的文件数(硬限制,无法开启多的文件了)

第三、四行指所有用户的。

设定的值不能超过/proc/sys/fs/nr_open里的值,完全够用了。

2、限制系统文件开启最大数

vim /etc/sysctl.conf

fs.file-max = 6815744

执行生效:sysctl -p

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页