Nach `chown -R` ist git super langsam

10

Ich habe ein riesiges GIT-Projekt mit mehreren GIT-Submodulen. Ich habe den Besitz ( chown -r) rootfür jede Datei in meinem Projekt rekursiv von auf meinen Benutzer geändert .

Jetzt braucht jeder git-Befehl viel Zeit und scheint 99% der CPU zu verbrauchen. Was ist das Problem?

Ich tat sudo chown -R my_user my_project/

AKTUALISIEREN

Dies scheint nicht nur mit GIT zu tun zu haben, auch andere Terminalbefehle nehmen viel Zeit in Anspruch. topzeigt mir 100% Git-Nutzung für etwa 15 Sekunden anstelle der üblichen 0-1 Sekunden.

lukas.pukenis
quelle
1
nicht dein chown -rBefehl.
AB
@AB bitte näher erläutern.
lukas.pukenis
1
gitEs ist egal, wem die Dateien gehören, solange sie auf die Dateien zugreifen können.
AB
3
Beobachten Sie die Ausgabe von topoder htopund die E / A-Aktivitäten.
AB
1
Nur ein Schuss in die Dunkelheit: Sie sagten massiv ; Vielleicht bevor Sie Dateien zwischengespeichert haben , die jetzt nach dem Eigentümerwechsel nicht mehr als gleich angesehen werden ... oder etwas wie nepomuk / akonadi / _updatedb_ indiziert alles als neu. Überprüfen Sie mit top htop...
Hastur

Antworten:

12

Mit dem Befehl

sudo chown -R my_user my_project/

Sie haben alle Dateien in einem riesigen (wie gesagt) Repository geändert , daher hat Ihr KDE / GNOME / Unity-Dateiindexer jetzt viel Arbeit. Geben Sie dem Prozess Zeit, um seine Arbeit abzuschließen. Geh und trink einen Kaffee ;)

Installieren Sie iotopüber:

sudo apt-get install iotop

und sehen Sie sich die Ausgabe von:

sudo iotop

AB
quelle
Warum? gitÜberprüfen Sie nur die Modi.
Muru
Das ist wahrscheinlich der Grund. Es ist das einzige, an das ich auch denken kann. Auch ich mag Kaffee, also habe ich schon einen für mich gemacht :))
lukas.pukenis
@ lukas.pukenis Was ist mit dem Kaffee und top, htopAntwort? Wer verschwendet Ihre Ressourcen? :-) Denken Sie daran, dass Sie Pfade jederzeit aus dem Dateiindexer ausschließen und erneut hinzufügen können, wenn Sie essen oder schlafen gehen!
Hastur
@Hastur, wenn ich tippe, als hätte ich git statuseine CPU-Auslastung von 100% für etwa 15 0..1Sekunden anstelle von Sekunden. Der Speicher ist kein Problem und die
E
2
@ lukas.pukenis Ich sollte es nicht so einfach behaupten, ohne Zweifel wie Sie: Wenn es viele andere Prozesse gibt, die diese Dateien öffnen / blockieren (denken Sie an das Zauberwort massiv ), können Sie mehr Zeit als zuvor benötigen. Bitte überprüfen und aktualisieren Sie, wer Ihre Festplatte und Ihre CPU-Zeit verwendet. Niemand kann von hier aus die Antwort finden und sie ist dort drüben. Gute Jagd und Kaffee. Übrigens, wenn Sie den Indexer anhalten / stoppen und wenn Sie den Befehl geben, ist es schneller, wenn Sie sich schuldig fühlen. :-) Gute Jagd und Kaffee ...
Hastur