文件描述符(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”的根本之道。
热门推荐
双十一快递物流的物理奥秘:匀变速直线运动的应用
内蒙古十大必去景点,绝美景点TOP10,让你惊叹大自然的魔力!
仙灵骨葆胶囊,餐前还是餐后服用更有效?
太阳能板能撑多久?揭秘太阳能系统的使用寿命
住院二次报销的范围及标准详解
医保中心报销流程详解:从资格到流程全面解析
社保和商业保险如何进行报销操作?这些报销操作有哪些差异?
生活目标是什么?如何设定并实现你的生活目标
太阳能板的几种关键检测方法
太阳能电池板的性能参数和种类都有哪些?
太阳能电池组件等级分类及质量判断
温情与成长的奇妙旅程——《熊出没・变形记》
科技守护文明:三维实景重建在文物保护的创新之路
关于一语成谶的民间趣事
全球新家办 | 奢华与落魄:明星们的财富管理启示录(上)
盘点华语电影五大奖成就最高的10位演员,揭秘获五奖大满贯有多难
量子计算能否颠覆AI行业?
量子计算来袭,你的加密技术够硬核吗?
古代餐食演变史:古人如何从“一日两餐”发展成“一日三餐”的?
乳糖不耐受忌口八大类
给村民家中柴火灶贴封条,燃气公司有执法权吗?多个政府部门称不清楚
村民柴火灶被贴封条 多个部门回应“燃气公司有无执法权”
山西年夜饭必备:八碗传统美食
山西春节餐桌上的七大盘菜,你最爱哪个?
北京烤鸭制作全攻略:从选材到片鸭的完整步骤详解
服用阿法替尼后不能吃哪些水果?
如何策划文化沙龙活动方案:点亮思想火花,共享文化盛宴
热水器常见故障及解决指南
北魏汉化以及迁都洛阳的历史必然性
轻断食头发不保,“16+8”又翻车?中国研究再登顶刊,如何看待