Ubuntu 18.04 和大文件数量存在严重性能问题

Ubuntu 18.04 和大文件数量存在严重性能问题

我使用大学网络进行研究工作,并获得了一台装有 Ubuntu 18.04 和 Intel i7-7700 的新 PC。我经常使用机器学习应用程序,因此我经常移动由相对较小文件组成的大型数据集(约 30-50 GB)。使用 Linux 时,我遇到了严重的性能问题,尤其是在使用 Nautilus 时。

例如,在使用 AVA 数据集(255530 张 .jpg 图像)时,Nautilus 需要很长时间(约 3 分钟??)才能打开文件夹并显示内容!请注意,我使用的是列表布局,没有任何必须显示的缩略图或类似内容 - 仅显示文件名,仅此而已。在我的 Windows 计算机上,打开类似的图像文件夹仅需 2-3 秒。是我做错了什么,还是这是 Linux 特有的一般问题?

非常感谢您的帮助和建议!:)

答案1

为了方便用户使用,Nautilus 牺牲了性能。在这种情况下,这可能与 Nautilus 检查每个文件以决定如何显示有关信息有关,因此您正在等待 Nautilus 读取该目录中每个文件的标题。冒着激怒当权者的风险,我建议您寻找替代软件来完成这项任务,而不是试图强迫 Nautilus 扮演它不适合的角色。

您可以尝试一些更高效的替代方案:

答案2

我想到两件事可能会对你有帮助:

  1. 由于您从事机器学习工作,因此您很可能已经使用过 Python。在一些需要整理大量文件的工作中,我编写了专用的简短 Python 脚本来执行整理任务。据说 Python 的实现(例如获取目录中所有文件的列表)非常高效。这样,您就不必使用 Nautilus 之类的 GUI 或 Shell 命令,您说这两种方法对您来说都不太好用。

  2. 您在新电脑上使用哪种文件系统?不同的文件系统在处理大量文件时会表现出不同的性能特征,这是由于内部组织不同,例如二叉树与线性列表,请参见https://unix.stackexchange.com/questions/63250/storing-thousands-of-files-in-one-directory?noredirect=1&lq=1在这个领域,意见和基准测试结果差异很大,也许您可​​以重新分区您的硬盘或添加外部 SSD 来在您的任务中尝试一些不同的文件系统,例如 BTRFS 与 XFS 与...

相关内容