超过一个进程可打开的最大文件数限制会怎么样

时间:2022-06-02 09:32:17
由getrlimit得到RLIMIT_FSIZE的struct rlimit结构体,
其rlim_cur和rlim_max字段分别代表当前一个进程可打开的最大文件数和系统这个数目的最大限制,
我在虚拟机上的fedora core 9中检查了一下这个值,都是1024,也就是说,这fedora core 9中一个进程可打开的最大文件数目是1024个, 请问:

1,这个数目是同时打开的最多文件数目还是进程中总共可打开的最多次的文件数目。
2,如果超过这个值会怎样。
3,如果我在某个进程中启动30个线程,每个线程打开50次文件,这个算不算超过了这个限制。
4,我能否改变rlim_max字段,即最大上限,怎么做


谢谢啦

6 个解决方案

#1


1.打开的最多文件数
2.第二个超过限制应该会返回一个值
3.第三个应该是超过了限制了
4.修改内核???

我也是新手

#2


会打开失败。。。

#3


去银行取钱 超过你存款的金额 会怎么样

#4


打开未关闭的句柄都算文件句柄的,所以当达到限制就不能再申请了

能够getrlimit就能够setrlimit,具体的要man一下

#5


也就是说,那个是“同时”可打开的最多文件数目吗,

比如我打开一个文件,又关闭了他,然后又打开一个,此时我打开的文件个数是1而不是2咯

#6


是的!
引用 5 楼 rienzi 的回复:
也就是说,那个是“同时”可打开的最多文件数目吗,

比如我打开一个文件,又关闭了他,然后又打开一个,此时我打开的文件个数是1而不是2咯

#1


1.打开的最多文件数
2.第二个超过限制应该会返回一个值
3.第三个应该是超过了限制了
4.修改内核???

我也是新手

#2


会打开失败。。。

#3


去银行取钱 超过你存款的金额 会怎么样

#4


打开未关闭的句柄都算文件句柄的,所以当达到限制就不能再申请了

能够getrlimit就能够setrlimit,具体的要man一下

#5


也就是说,那个是“同时”可打开的最多文件数目吗,

比如我打开一个文件,又关闭了他,然后又打开一个,此时我打开的文件个数是1而不是2咯

#6


是的!
引用 5 楼 rienzi 的回复:
也就是说,那个是“同时”可打开的最多文件数目吗,

比如我打开一个文件,又关闭了他,然后又打开一个,此时我打开的文件个数是1而不是2咯