Linux中的I / O性能

时间:2012-08-09 07:22:12

标签: linux file io

目录中的文件A有10000个文件,文件B在目录中有10个文件,读/写文件A比文件B慢吗? 是否会受到不同日记文件系统的影响?

3 个答案:

答案 0 :(得分:5)

没有

浏览目录并打开文件将会变慢(无论在实践中是否明显取决于文件系统)。文件的输入/输出完全相同。

修改
为了澄清,目录中的“文件”不是真正文件,而是链接(“硬链接”,而不是符号链接),这只是一个带有一些元数据的名称,但与您认为的“文件”无关。这也是为什么删除文件是通过unlink系统调用完成的历史原因,而不是通过假设的deletefile调用。 unlink删除了链接,如果那是最后一个链接(但只有那时!),则该文件。

一个文件在不同目录中拥有一百个链接是完全合法的,打开一个文件然后将其移动到另一个地方甚至取消链接它是完全合法的(当它保持打开状态时!)。它不会影响您以任何方式读取/写入文件描述符的能力,即使文件(据您所知)甚至不再存在。

答案 1 :(得分:1)

通常,一旦打开文件并且您有一个句柄,无论同一目录中有多少其他文件,访问该文件的性能都是相同的。您可能能够检测到打开文件所需时间的微小差异,因为操作系统必须在目录中搜索文件名。

答案 2 :(得分:0)

日记旨在减少文件系统崩溃的恢复时间,恕我直言,它不会影响文件的读/写速度。 Journaling ext2