红联Linux门户
Linux帮助

Linux select文件描述符1024限制

发布时间:2016-11-16 10:57:49来源:linux网站作者:sxtobj
最近系统出现宕机的情况,分析core文件,所有的线程都在select处。最后怀疑是文件描述符超过了1024。但是想到Apache也是采用select的io模型。所以还是很不理解。
 
查看了Linux的内核源码linux-2.6.32。
 
static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
{
unsigned long _tmp = fd / __NFDBITS;
unsigned long _rem = fd % __NFDBITS;
fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
}
#define __NFDBITS    (8 * sizeof(unsigned long))
typedef struct {
unsigned long fds_bits [__FDSET_LONGS];
} __kernel_fd_set;
#define __FDSET_LONGS   (__FD_SETSIZE/__NFDBITS)
#define __FD_SETSIZE    1024
 
起关键作用的就是红字部分。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26034.html