我在一个java应用程序中内置了一些文件排序功能,它可以对大于20 to的文件进行排序。一般的方法是以块的形式读取文件,对内存中的每个块进行排序,然后将其写入到自己的临时排序文件中。在第二次遍历时,我同时打开所有块文件,并将它们编织到一个最终的排序文件中。
我想知道当我同时打开和读取大量文件时,是否有什么实际的限制需要注意?
在我自己的机器(Mac )上,我能够毫无问题地读取超过250个文件。也许有人知道可能适用于其他平台的限制?
耽误您时间,实在对不起。
发布于 2010-06-22 00:48:02
即使在Java中没有特定的限制,操作系统也会对每个进程的打开文件数量施加限制。
在Linux上,您可以通过设置
ulimit -n max_open_files
发布于 2010-06-22 00:48:37
在Linux上,至少可以使用ulimit -n进行检查。
发布于 2010-06-22 00:51:13
这取决于平台,例如,jvm将愉快地在linux上打开文件,直到它达到打开的文件描述符的最大数量(记住,在unix套接字上也是文件描述符)。
https://stackoverflow.com/questions/3086583
复制相似问题