我知道实际上文件描述符不可能超过32位.只是想知道内核是否保证文件描述符具有特定的范围,或者它只是从小数量计算并且不太可能变得非常大?
解决方法 用于添加新文件描述符的epoll_ctl(2)接口采用int fd参数,因此您已经限制在32位范围内(至少在我熟悉的linux平台上).您还受到/ proc / sys / fs / file-max系统范围限制所有进程的打开文件数量的限制; / proc / sys / fs / file-max目前在我的系统上是595956.
通过对打开文件数量的setrlimit(2)RliMIT_NOfile每进程限制进一步限制每个进程. 1024是常见的RliMIT_NOfile限制. (通过/etc/security/limits.conf更改此限制非常容易.)
这是一个罕见的应用程序,需要超过1024.完整的32位似乎不太可能,因为每个打开的文件将需要一些内核内存来表示 – 40亿~280字节结构inode结构(至少)是很多固定记忆.
总结以上是内存溢出为你收集整理的64位Linux上的文件描述符范围是什么?全部内容,希望文章能够帮你解决64位Linux上的文件描述符范围是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)