鹦鹉螺在浏览带有版本控制和大量文件的目录时会"死机"。

当打开一个被版本控制的目录时,尤其是包含数百或数千个单独文件的子目录,Nautilus 会暂时冻结(应用程序无响应用户输入)。对于包含数百或数千个单独文件的目录,类似的情况也适用。这些冻结可能会持续几分钟,在此期间 CPU 负载几乎不增加(比正常值高出 2-4%),但硬盘访问是显著的。

一个例子是一个被版本控制的目录,其中包含完整的 Boost 库源码和 GNU Science 库源码,两者都已解压缩,并包含一个水文模型的完整源代码树。

有没有办法减少或消除这个问题?(版本控制很关键,不能更改;一些受影响严重的目录可以进行一些文件重新组织)

注意:这会影响到 10.04 LTS(32位 PAE)和 10.10 (64位)。Lucid 机器配备了 Core i7(2.8GHz)、6GB RAM 和带有 32MB 缓存的 1TB HDD。Maverick 机器配备了 Core i5(2.43GHz)、4GB RAM 和一个 500GB HDD(未知缓存大小)。两个 HDD 都是 7200 RPM 的硬盘驱动器。


1我没有解决方案,但这听起来像是典型的阻塞行为。如果Nautilus从处理用户界面的同一线程发出io操作,界面在等待io操作完成时会被视为冻结。 - Egil
@Egil 所以如果它是在同一线程中的阻塞IO操作,是否有任何命令行开关或配置文件可以影响该行为? - user12779
你可以尝试减少所需的操作数量。请看下面我的建议。 - Egil
1个回答

一种至少减少io操作次数的方法是禁用Nautilus中的(某些)预览功能。通过点击编辑->首选项打开文件管理首选项中的预览选项卡。预览对于有限数量的文件效果很好,但在大规模情况下并不适用。
我认为“统计项目数量”可能是你的问题所在,它会遍历所有包含数百或数千个文件的目录并进行计数。同样地,预览文本文件也会在有数千个文件时变得繁重等等。

Nautilus Preview preferences


禁用这些功能中的一些或全部会大大加快Nautilus的速度,无论您的设置如何。在处理WordPress安装时,“计算项目数量”过去会导致Nautilus冻结...但自从我升级了我的硬盘以来,我从未遇到过这个问题。 - The Negative Shape