您好,登录后才能下订单哦!
如何在linux中解决文件描述符限制问题?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一.问题描述
在调试一个问题的时候,socket始终连接不上,返回的句柄大约是1030左右。开始的时候是好的,运行一段时间后出现的问题。
二.问题分析
问题过去有段时间了,忘记当时怎么想到是超过文件描述符限制了。大概是根据句柄的值或者返回的错误码了。
嗯。linux下文件描述符最大限制默认最大为1024,通过
[root@localhost ~]# ulimit -n 1024
这个命令可以查看。此值可以修改。
进程的文件描述符,可以通过
[root@localhost ~]# ls -al /proc/13623/fd |wc -l 59
输出的数字即为该进程文件描述符的个数。
修改linux下文件描述符限制的方法:
临时修改使用:ulimit -HSn 65536
其实1024这个限制一般足够了,至于超过此数值一般也是程序中的bug。在调试的程序中没new一个socket的时候,都新打开了一个文件,而忘记关闭,从而导致越来越多。
!
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。