【发布时间】:2011-06-01 20:31:09
【问题描述】:
在程序的整个生命周期(比如一周左右)内保持打开 3GB+ 文件的 512 个文件句柄会导致 32 位 Linux 出现问题吗?视窗?
潜在的解决方法:打开/关闭文件句柄的性能损失有多严重?
【问题讨论】:
在程序的整个生命周期(比如一周左右)内保持打开 3GB+ 文件的 512 个文件句柄会导致 32 位 Linux 出现问题吗?视窗?
潜在的解决方法:打开/关闭文件句柄的性能损失有多严重?
【问题讨论】:
文件的大小无关紧要。但是,文件描述符的数量确实如此。例如,在 Mac OS X 上,默认限制是每个进程打开 256 个文件,因此您的程序将无法运行。
【讨论】:
ulimit -a,查看open files。
我不了解 Linux,但在 Windows 中,512 个文件对我来说似乎那么多。但根据经验,超过一千个就太多了。 (虽然我不得不说我没有亲眼看到任何开放超过 50 个的程序。)
并且打开/关闭句柄的成本并没有那么大,除非你每次都想读/写少量的数据,在这种情况下它太高了,你应该缓冲你的数据。
【讨论】: