文件描述符(File Descriptor)简介
创作时间:
作者:
@小白创作中心
文件描述符(File Descriptor)简介
引用
1
来源
1.
https://juejin.cn/post/7369761632274841610
文件描述符(File Descriptor)是Linux系统中用于标识打开文件的关键概念。本文将详细介绍文件描述符的基本概念、它在进程和文件之间的关系,以及如何检查和管理文件描述符的使用情况。
一、文件描述符概念
Linux系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符。文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。
二、文件描述符、文件、进程间的关系
1.描述:
- 每个文件描述符会与一个打开的文件相对应
- 不同的文件描述符也可能指向同一个文件
- 相同的文件可以被不同的进程打开,也可以在同一个进程被多次打开
2.系统为维护文件描述符,建立了三个表
- 进程级的文件描述符表
- 系统级的文件描述符表
- 文件系统的i-node表 (转到:阮一峰——理解inode)
3.通过这三个表,认识文件描述符
- 在进程A中,文件描述符1和30都指向了同一个打开的文件句柄(#23),这可能是该进程多次对执行打开操作
- 进程A中的文件描述符2和进程B的文件描述符2都指向了同一个打开的文件句柄(#73),这种情况有几种可能,1.进程A和进程B可能是父子进程关系;2.进程A和进程B打开了同一个文件,且文件描述符相同(低概率事件=_=);3.A、B中某个进程通过UNIX域套接字将一个打开的文件描述符传递给另一个进程。
- 进程A的描述符0和进程B的描述符3分别指向不同的打开文件句柄,但这些句柄均指向i-node表的相同条目(#1936),换言之,指向同一个文件。发生这种情况是因为每个进程各自对同一个文件发起了打开请求。同一个进程两次打开同一个文件,也会发生类似情况。
三、文件描述符限制
有资源的地方就有战争,“文件描述符”也是一种资源,系统中的每个进程都需要有“文件描述符”才能进行改变世界的宏图霸业。世界需要秩序,于是就有了“文件描述符限制”的规定。
如下表:
永久修改用户级限制时有三种设置类型:
- soft 指的是当前系统生效的设置值
- hard 指的是系统中所能设定的最大值
- 指的是同时设置了 soft 和 hard 的值
四、检查某个进程的文件描述符相关内容
步骤(以nginx为例,*注意权限问题,此示例是在本地环境):
找到需要检查的进程id
如图,找到的进程id为 1367
查看该进程的限制
如图,在 Max open files 那一行,可以看到当前设置中最大文件描述符的数量为1024
查看该进程占用了多少个文件描述符
如图所示,使用了17个文件描述符
总结
实际应用过程中,如果出现“Too many open files” , 可以通过增大进程可用的文件描述符数量来解决,但往往故事不会这样结束,很多时候,并不是因为进程可用的文件描述符过少,而是因为程序bug,打开了大量的文件连接(web连接也会占用文件描述符)而没有释放。程序申请的资源在用完后及时释放,才是解决“Too many open files”的根本之道。
热门推荐
杭州一对父子与母女的特殊婚姻:从相依为命到亲上加亲
多学科联合,精神分裂孕妇顺利生产
父母家庭暴力如何寻求法律援助
脸型如何让你看清一个人的性格与命运
Docker Compose 使用指南
克扣工资劳动仲裁需要什么证据
深入理解 5G 网络制式及其对未来的深远影响
太湖水治理实现“历史突破”,美的不仅是环境
免抵退税办法:税收优惠政策的新模式
进出口退税详细流程:从申报到退税的完整指南
凝血因子Ⅻ缺乏症如何护理
明英宗朱祁镇:一位历经坎坷的皇帝及其历史功绩
素描与速写实训技巧总结与实践心得
半马需要吃能量胶吗?答案在你的速度中
诉讼时效经过了怎么办?一文教你正确的补救方法!
三炮台:兰州人的浪漫茶饮
全国种植牙医生排名前十,他们的技术怎么样?患者口碑如何一览
铃兰长什么样子,花语是什么?
深入了解在伺服电机中常用的几种编码器协议!
毛坯房验房指南:从电路到卫生间的全方位检查清单
国医大师李济仁的冬季养生法,分享给您,不妨跟着做起来!
世界观巨宏大的5部奇幻小说,看得太过瘾!
中国的东北虎、印度的孟加拉虎,谁更厉害?
春季养肝必吃十种食物 春季吃哪些食物对肝好
短视频营销推广策略:提升曝光率的七大实用技巧
身体出现这5个症状,建议早做肠胃镜检查,小心肠癌、胃癌!
如何通过图解方式直观理解期权看涨的原理?这种图解方式的局限性是什么?
怎样计算债券的利率风险?债券利率风险的影响因素有哪些?
如果氧气含量翻倍,地球会发生什么?昆虫会有变化吗?
撒贝宁 MBTI 人格特质及对职业影响》《ENTP 人格与大张伟之契合