文件描述符(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”的根本之道。
热门推荐
年轻人如何科学预防脑梗?
干细胞外泌体与瑞替普酶:脑梗治疗的两大新突破
鲁B车牌代码归属地,鲁B是哪里的车牌?
寻迹渭源堡,说说北宋熙河开边的往事
清代边疆治理:如何实现“大一统”
白羊座:颜值与才华并存的星座
白羊座魅力揭秘:马云和乔布斯的共同特质
白羊座时尚达人:活力四射的穿搭秘诀
柑橘类水果:提升白细胞的天然良方
你的白细胞正常吗?揭秘免疫系统的秘密
饮食调整助力白细胞提升:6大营养素与实用建议
流感来袭,白细胞异常怎么办?
收视率最高电视剧《狂飙》引发热议,究竟是什么吸引了观众的目光
GaussDB(DWS) ANALYZE命令详解:提升系统性能的关键工具
GaussDB(DWS)教你玩转ANALYZE命令
白羊座和狮子座的MBTI性格密码:你属于哪种类型?
速效救心丸:心绞痛患者的救命神器
速效救心丸:冠心病急救神器,你家备了吗?
速效救心丸:心脏急救神器的正确打开方式
中国古代都城:探秘千年帝都的兴衰更替
新房装修后如何维护室内公共卫生?这份实用指南请收好
蜀道:古代国家统一与治权扩展的交通基石
福州三大自然景观深度游:鼓山、青云山和平潭岛
《和平精英》新手必看:主播教你灵敏度设置
袁淑秀教你写日记:告别心理压力,提升自我认知
名城紫金九号领衔福州楼市新动向
福州必打卡景点大揭秘:三坊七巷、平潭、鼓山涌泉寺、上下杭
三坊七巷:福州最火打卡地揭秘
鼓楼区GDP总量突破2850亿,领跑福州各区
《狂飙》引进韩国引发激烈讨论,国际化反响强烈成全球话题焦点