在`chown -R` git超级慢之后


10

我有一个庞大的GIT项目,其中包含几个GIT子模块。对于项目中的每个文件,我都将拥有权(chown -r)递归更改root为用户。

现在,任何git命令都需要花费大量时间才能完成,并且似乎使用了99%的CPU。有什么问题

我做了 sudo chown -R my_user my_project/

更新

这似乎不仅与GIT有关,其他终端命令也要花费很多时间。top向我显示了100%的git使用情况,持续了15秒,而不是通常的0-1秒。


1
不是你的chown -r命令。
AB

@AB请详细说明。
lukas.pukenis

1
git只要它可以访问文件,就不必关心文件的所有者。
AB

3
观察tophtop和I / O活动的输出。
2015年

1
只是在黑暗中打了一针:你说的太多了;也许在您缓存 文件之前,现在,所有权更改后,它们不再被视为相同的文件……或者像nepomuk / akonadi / _updatedb_正在将所有文件索引为新文件一样。请与top htop...
哈斯塔

Answers:


12

用命令

sudo chown -R my_user my_project/

您已经更改了一个巨大的存储库(如您所说)中的所有文件,因此您的KDE / GNOME / Unity文件索引器现在有很多工作。给该过程时间以完成其工作。去喝咖啡;)

要从输入/输出角度看发生了什么,请iotop通过以下方式安装:

sudo apt-get install iotop

并查看以下内容的输出:

sudo iotop


为什么?git只检查模式。
muru

那可能就是原因。这也是我唯一想到的一个。我也喜欢咖啡,所以我已经为自己准备了咖啡:))
lukas.pukenis 2015年

@ lukas.pukenis咖啡和tophtop响应如何?谁在浪费您的资源?:-)请记住,您始终可以从文件索引器中排除路径,并在进餐或睡觉时再次添加!
Hastur

我输入@Hastur时,我git status有100%的CPU使用率,例如15 0..1秒而不是秒。内存不是问题,IO活动很低:/
lukas.pukenis

2
@ lukas.pukenis毫无疑问,我不应该这么轻易地断言它:如果有许多其他进程正在打开/阻止该文件(记住神奇的单词mass),那么您可能需要更多时间。请检查并更新谁在使用您的硬盘和您的CPU时间。没有人可以从这里找到答案,它就在那儿。打猎和喝咖啡。顺便说一句,如果您暂停/停止索引器,并且当您发出命令时它会更快地使您感到内。:-)好打猎和喝咖啡...
Hastur
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.