允许打开的最大文件数是多少?

允许打开的最大文件数是多少?

1048577 是 Ubuntu 中打开文件的限制吗?如果我尝试以下代码,它就会起作用。

但是,如果我将值更改为 1048578,setrlimit 函数将返回代码 1,并且 errno 也将设置为 1。

int l;
struct rlimit rl;

rl.rlim_cur = 1048577;
rl.rlim_max = 1048577;

l = setrlimit(RLIMIT_NOFILE, &rl);

if(l != 0){
    errx(1, "setrlimit returned result %d", errno);
}

我以 root 身份运行它并使用 GCC 4.6.3 进行编译

答案1

你已经达到了内核最大值(NR_OPEN),参见

cat /proc/sys/fs/nr_open

相关内容