Po `chown -R` git jest bardzo wolny

10

Mam ogromny projekt GIT z kilkoma podmodułami GIT w środku. Rekurencyjnie zmieniłem właściciela ( chown -r) z rootna mojego użytkownika dla każdego pliku w moim projekcie.

Teraz każde polecenie git zajmuje dużo czasu i wydaje się, że używa 99% procesora. Jaki jest problem?

Zrobiłem sudo chown -R my_user my_project/

AKTUALIZACJA

Wydaje się, że nie dotyczy to tylko GIT, inne polecenia terminala również zajmują dużo czasu. toppokazuje mi 100% użycia gita przez około 15 sekund zamiast zwykłych 0-1 sekund.

lukas.pukenis
źródło
1
nie twoje chown -rpolecenie.
AB
@AB proszę opracować więcej.
lukas.pukenis
1
gitnie dba o to, kto jest właścicielem plików, o ile ma on dostęp do plików.
AB
3
Obserwuj dane wyjściowe toplub htopdziałania I / O.
AB
1
Tylko strzał w ciemność: powiedziałeś masywny ; może przed buforowaniem plików, które teraz, po zmianie własności, nie są już postrzegane jako takie same ... lub coś, co nepomuk / akonadi / _updatedb_ indeksuje wszystko jako nowe. Sprawdź z top htop...
Hastur

Odpowiedzi:

12

Za pomocą polecenia

sudo chown -R my_user my_project/

zmieniłeś wszystkie pliki w ogromnym (jak powiedziałeś) repozytorium, dlatego twój indeksator plików KDE / GNOME / Unity ma teraz dużo pracy. Daj procesowi czas na zakończenie pracy. Idź i napij się kawy ;)

Aby obserwować, co się dzieje z perspektywy wejścia / wyjścia, zainstaluj iotop:

sudo apt-get install iotop

i obserwuj wyniki:

sudo iotop

AB
źródło
Dlaczego? gitsprawdź tylko tryby.
muru
To prawdopodobnie jest powód. To jedyny, o którym myślę. Lubię też kawę, więc mam już taką dla siebie :))
lukas.pukenis,
@ lukas.pukenis Co z kawą i top, htopodpowiedzi? Kto marnuje twoje zasoby? :-) Pamiętaj, że zawsze możesz wykluczyć ścieżki z indeksatora plików i dodać ponownie, kiedy pójdziesz zjeść lub spać!
Hastur
@Hastur, gdy piszę jak git status, mam 100% użycia procesora przez około 15 0..1sekund zamiast sekund. Pamięć nie jest problemem, a aktywność IO jest niska: /
lukas.pukenis
2
@ lukas.pukenis Nie powinienem tego tak łatwo twierdzić, bez wątpienia tak jak ty: jeśli istnieje wiele innych procesów, które otwierają / blokują te pliki (pamiętaj o magicznym słowie masywnym ), możesz potrzebować więcej czasu niż wcześniej. Sprawdź i zaktualizuj, kto używa dysku twardego i czasu procesora. Nikt nie może stąd znaleźć odpowiedzi i ona tam jest. Dobre polowanie i kawa. BTW, jeśli zatrzymasz / zatrzymasz indeksator i gdy wydasz polecenie, szybciej staniesz się winny. :-) Dobre polowanie i kawa ...
Hastur