文件描述符(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”的根本之道。
热门推荐
脑力工作者最好的休息方式:不是睡觉
新型啃老现象普遍出现:比传统啃老的问题更多
LED照明面积每平方需要多少瓦 如何高效利用家庭照明
冬天煮饮老白茶好处多!
国家广电总局:已建立投诉机制,发现“套娃”收费可投诉
身材管理项目介绍:从饮食到运动的全方位指南
法人变更后要承担以前的责任吗?个体工商户如何变更?
研究发现:这样运动,才能有效延缓衰老
“奈何明月照沟渠,我本将心向明月”:李白诗句的深层解读
海南省乐东县九所镇全景旅游攻略:热门景点、特色美食与活动指南
一文读懂,数字人民币与支付宝、微信支付到底有什么区别?
猪群科学饮水方法
《仁心俱乐部》今晚开播,姚安娜又成焦点!不过这次观众评价变了
新谋女郎刘浩存:光环背后的争议与潜力
海淀永丰产业基地19号地块再度上架,吸引市场关注
反渗透膜系统的碱性清洗详细步骤与操作指南
体重为什么忽高忽低?专家解读7大影响因素
阖闾与伯嚭:忠诚与背叛的历史教训
清算组撤销合同的办理流程及注意事项
《真女神转生5:复仇》:量大管饱,提升明显的王道冒险故事
为什么杨笠被骂这么惨,还不断有品牌请她做代言?
婚检结果会通知双方吗?婚检中的隐私保护指南
心理咨询:活得很累又很徒劳,空心的自己做什么都觉得没意义
地奥司明片为什么在午餐和晚餐时服用?
新高考会考对高考有影响吗?没过怎么办?新高考会考等级划分标准
“祛湿神器”红豆薏米水,很多人都喝错了
【大专生学前端】:挑战与机遇并存——你怎么看?
双肾的超声是怎么检查的
精准康复服务,托起残疾人生活艳阳天
AI如何提升老年人生活质量