linux下的文件描述符一共有多少? 30
2个回答
展开全部
人们常说linux最大有65536个文件描述符,是由于常用linux内核的默认值决定的,实际上是可以通过修改内核突破的。
了解下文件描述符,内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
文件描述符的有效范围是 0 到 OPEN_MAX。一般来说,每个进程最多可以打开 64 个文件(0 — 63)。对于 FreeBSD 5.2.1、Mac OS X 10.3 和 Solaris 9 来说,每个进程最多可以打开文件的多少取决于系统内存的大小,int 的大小,以及系统管理员设定的限制。Linux 2.4.22 强制规定最多不能超过 1,048,576 。
了解下文件描述符,内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
文件描述符的有效范围是 0 到 OPEN_MAX。一般来说,每个进程最多可以打开 64 个文件(0 — 63)。对于 FreeBSD 5.2.1、Mac OS X 10.3 和 Solaris 9 来说,每个进程最多可以打开文件的多少取决于系统内存的大小,int 的大小,以及系统管理员设定的限制。Linux 2.4.22 强制规定最多不能超过 1,048,576 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个进程可同时打开的文件个数是有限的,这个限制是在/etc//security/limits.conf文件中设置的。例如要设置用户test的一个进程可最大打开的文件数为2048,在该文件里新增加一行:
test hard nofile 2048
保存该文件并退出,test用户要重新登录系统,设置才会生效。需要说明的有三点:
(1)在这里设置的数字,不能超过/proc/sys/fs/file-max里面的数字。即便超过也没用。因为file-max里面限制了整个系统能同时打开的文件的数目。
(2)在/etc//security/limits.conf文件里还可以针对用户设置其他资源的限制。
(3)使用ulimit -n 可查看当前用户在一个进程内可同时打开的文件数目。
以上引用:http://www.linuxdiyf.com/viewarticle.php?id=14894
文件描述符与打开的文件个数是相同的,因为,只要打开一个文件就要分配一个文件描述符。
test hard nofile 2048
保存该文件并退出,test用户要重新登录系统,设置才会生效。需要说明的有三点:
(1)在这里设置的数字,不能超过/proc/sys/fs/file-max里面的数字。即便超过也没用。因为file-max里面限制了整个系统能同时打开的文件的数目。
(2)在/etc//security/limits.conf文件里还可以针对用户设置其他资源的限制。
(3)使用ulimit -n 可查看当前用户在一个进程内可同时打开的文件数目。
以上引用:http://www.linuxdiyf.com/viewarticle.php?id=14894
文件描述符与打开的文件个数是相同的,因为,只要打开一个文件就要分配一个文件描述符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询