一、说明
有的时候程序或者数据运行时会报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
最后修改时间:2020-04-08 17:16:18
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
学习了👍
1年前

评论
学习了
1年前

评论
学习了







1年前

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

评论
看来知识还是需要经常复习的,看的时候总觉得会,用的时候总觉得差点!!!
2年前

评论
心情不是人生的全部,但却能影响人生的质量。
2年前

评论
查看更多 >
相关阅读
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
179次阅读
2025-04-01 16:20:44
[MYSQL] query_id和STATEMENT_ID在不同OS上的关系
大大刺猬
87次阅读
2025-03-26 19:08:13
[Linux] 有趣(花里胡哨)的终端显示
大大刺猬
62次阅读
2025-03-27 18:24:39
误删/lib64/libc.so.6文件如何恢复
- 我用我一生来爱你°
47次阅读
2025-03-27 17:21:52
linux 新手必知必会(五)网络配置中问题总结
Lily_tj
38次阅读
2025-04-16 09:51:08