Mavericks Finder obraca się podczas otwierania folderów

18

Od czasu aktualizacji do Mavericks Finder czasami zawiesza się, gdy wybieram folder i czekam, aż jego zawartość zapełni się w oknie. Dzieje się tak przede wszystkim w otwartych oknach dialogowych:

Finder się kręci

Wiruje przez około 15-30 sekund, zanim pokaże elementy w tym folderze. Mogę „Idź do folderu”, a wtedy zwykle wyświetla zawartość natychmiast. Dlaczego się kręci i czy istnieje sposób, aby przyspieszyć? (Powinno to być natychmiastowe. Nie chodzę do folderów z tysiącami, a nawet setkami przedmiotów.)

Wyjaśnienia: To tylko zwykłe, lokalne foldery, zwykle w moim katalogu domowym ... nie zdalny dysk, udziały sieciowe czy coś wymyślnego. Jest to program MBP Retina z początku 2013 roku, więc ma dysk półprzewodnikowy.

Matt
źródło

Odpowiedzi:

11

Istnieje wiele dyskusji na ten temat w Społecznościach wsparcia Apple oraz kilka możliwych poprawek. Podsumowując, jeśli jeden działa dla Ciebie:

  • Wyłącz aplikację Finder Nap

    Wydaje się, że to naprawia dla prawie wszystkich w ASC, którzy mieli Findera dobrze działającego w 10.8, ale teraz są „zepsute” w 10.9.

    sudo defaults write com.apple.Finder NSAppSleepDisabled -bool YES
    

    … A następnie wyloguj się i zaloguj ponownie z wyłączoną opcją „Otwórz ponownie okna podczas ponownego logowania”.

  • Wyczyść pamięć podręczną Findera

    Opróżnij ~/Library/Caches/com.apple.finderi uruchom ponownie Findera.

    rm -r ~/Library/Caches/com.apple.finder/ && killall -HUP Finder
    
  • Zresetuj preferencje Findera

    Powiązane z powyższym - usuń oba pliki preferencji używane przez Finder:

    rm ~/Library/Preferences/com.apple.finder.plist ~/Library/Preferences/com.apple/sidebarlists.plist
    
  • Reindex Spotlight

    sudo mdutil -E /
    
  • Zmień ustawienie „Pokaż paski przewijania”

    Wydaje się, że można to naprawić, zmieniając ustawienie paska przewijania w Preferencjach systemowych → Ogólne z Podczas przewijania na Zawsze.

  • Uprawnienia do naprawy

    Spróbuj naprawić uprawnienia w Narzędziu dyskowym.

grg
źródło
Niestety nie rozwiązało to dla mnie problemu. Ale podoba mi się to, że możesz wiele zrobić, aby spróbować!
Matt
Wyłącz aplikację Finder Nap rozwiązała to dla mnie!
macki,
4

Nie rozumiem wszystkich szczegółowych szczegółów technicznych, ale najwyraźniej jest to spowodowane przez dostawców usług internetowych, którzy przechwytują NXDOMAIN . Po wpisie na forum spróbuj uruchomić to w Terminalu:

ping Backups.backupdb

Jeśli nie otrzymasz następującej odpowiedzi:

ping: cannot resolve Backups.backupdb: Unknown host

... następnie ISP jest wykonywanie NXDOMAIN przechwytywania, który jest przyczyną opóźnienia.

Procedura wyłączenia przechwytywania zależy od konkretnego usługodawcy internetowego. Na przykład, jeśli używasz OpenDNS (który domyślnie przechwytuje), możesz go wyłączyć w ustawieniach konta.


Miałem dokładnie ten sam problem na moim komputerze i korzystałem z OpenDNS (ale bez konta, więc nie mogłem zmienić ustawienia). Po prostu wróciłem do domyślnego DNS mojego usługodawcy internetowego (AT&T) - który najwyraźniej nie przechwytuje, ponieważ pingpowyżej otrzymałem „poprawną” odpowiedź - i problem natychmiast zniknął.

(Osobiście nie biorę uznania za to rozwiązanie; zgłaszam je tutaj tylko dla korzyści innych. Wydaje się, że jest to bardzo częsty problem w przypadku Mavericks).

DaGUY
źródło
Najwyraźniej nie ma tutaj przechwytywania NXDOMAIN. (Korzystanie z DNS firmy Google.) Dziękujemy za zgłoszenie tutaj!
Matt
Kolejny dowód potwierdzający: po wprowadzeniu tej zmiany zawieszenie całkowicie się zatrzymało w mojej sieci domowej, ale pojawia się ponownie, gdy jestem w pracy. Kiedy tam byłem, nie miałem okazji zrobić pingtestu, ale najwyraźniej jest to związane z siecią, ponieważ jest to ta sama maszyna w obu miejscach.
daGUY
Wow, to całkiem interesujące. Dzięki, naprawiłem to dla mnie, ale teraz jestem wiecznie ciekawy, co może być przyczyną tego zawieszenia. Nie sądzisz, że spowolnienia DNS i Findera są w ogóle powiązane.
Andy Ibanez
2

Twoja migawka pokazuje, że asynchroniczny wskaźnik postępu (pulsowanie) to część paska bocznego do rysowania:

  • Połączone serwery
  • Usługi odkrywcze Bonjour
  • Wróć do mojego Maca

Powinieneś być w stanie skoncentrować się na tworzeniu sieci i odizolować, czy jest to działanie opóźniające twoją pracę, czy tylko niewinna osoba obserwująca, która jest kolejną rzeczą, którą należy narysować, gdy system zostanie w inny sposób wstrzymany i opóźniony.

Aby rozwiązać ten problem, wykonaj następujące czynności:

  1. Uruchom sysdiagnose z terminala, jeśli mogę odtworzyć problem i sprawdź, czy mogę złapać proces z wykorzystaniem procesora lub w inny sposób zachowywać się inaczej niż sysdiagnose, gdy system jest bezczynny. Pomiń ten krok, jeśli nie lubisz przeglądać logów systemowych i wchodzić do terminala. Ten krok może być cenny, jeśli chcesz zgłosić to jako błąd - moim zdaniem system nie powinien zawiesić się na malowaniu usług sieciowych i powinien odblokować operację i później pokazać urządzenia sieciowe, które powinny być wolne.
  2. Wyłącz wszystkie trzy elementy powyżej w preferencjach Findera dla paska bocznego.
  3. Wyloguj się z Back to my Mac
  4. Odłącz od sieci

Ponieważ może to być kilka elementów - mam nadzieję, że możesz zawęzić lub skomentować, jeśli przegapię krok lub więcej informacji na temat problemu wyjdzie na jaw. Upewnij się również, że nie masz żadnych narzędzi, takich jak Little Snitch lub Network Link Conditioner, ponieważ w przypadku nieprawidłowej konfiguracji wyraźnie zaostrzą renderowanie części udostępniającej sieć paska bocznego.

bmike
źródło
Radzę to samo polowanie na winowajcę, ale w następującej kolejności: 4. (czy jest to problem związany z siecią i wydaje mi się, że to :(), 2., 3., 1. (najtrudniej będzie to odpowiednio przeanalizować: ().
dan
1
Najpierw lubię mierzyć, a potem celowo coś zmienić i powtórzyć. Może nie będę szczegółowo badał dzienników, ale zlecę ich przechwycenie, jeśli zajdzie taka potrzeba. Zgadzam się, że odłączenie sieci to świetny etap triage i próba zidentyfikowania czegoś w kroku 1 w przeciwieństwie do „nie kontynuuj, dopóki czegoś nie znajdziesz” :)
bmike
OK dla pierwszego kroku jako migawka niewłaściwego zachowania i odniesienie do polowania.
dan
To rzeczywiście sprytny pomysł. Ale to opóźnienie występuje w folderach lokalnych i po odłączeniu od sieci, więc nie sądzę, że jest to problem z siecią.
Matt
2

Czy to na każdym dysku, który masz? Bo jeśli to ten sam bahviour na innym sprzęcie? (Różnica behawioralna między pamięcią USB a dyskiem wewnętrznym)

Czy polecenie „ls” jest równie wolne w terminalu, czy w trybie natychmiastowym? (wypróbuj terminal i cd, przeciągnij przykładowy folder do terminalu i naciśnij klawisz Enter. Następnie wpisz „ls”, aby zobaczyć, ile czasu zajmuje wyświetlenie zawartości folderów).

  • Może to być również spowodowane uszkodzeniem systemu plików HFS + (uruchom narzędzie dyskowe „sprawdź dysk” (nie uprawnienia) i sprawdź, czy nie występują problemy z twoim (myślę, że dotyczy to woluminu początkowego). + R przy rozruchu) i stamtąd spróbuj naprawić dysk za pomocą narzędzia dyskowego.
  • Na koniec, czy próbowałeś założyć nowe konto użytkownika i próbować go odtworzyć na nowym koncie użytkownika?

Przepraszam za wiele pytań, ale nie mam (mam nadzieję) jeszcze komentarza na pytania.

Przytulać
źródło
Dziękuję za pomoc. lsjest zawsze natychmiastowy. Co ciekawe, „Verify Disk” na moim dysku startowym przyniosło kilka błędów: „Niepoprawna liczba twardego linku do pliku” i „Bitmapa woluminu wymaga drobnych napraw w przypadku osieroconych bloków” i „Niepoprawna liczba wolnych bloków woluminów (powinno to być 43437880 zamiast 40702664) „- wszystko inne jest dobre. Spróbuję naprawić i zobaczę, czy to pomoże ...
Matt
Zrobiłem naprawy i nie widziałem problemu od tego czasu (ale nie było to jeszcze bardzo długo) - tak czy inaczej, dobrze jest zrobić, a twoje pytania zbadały głębiej mój problem. Nagroda wygasa za kilka minut, więc nagrodziłem cię, również jako powitanie dla społeczności. Przy odrobinie więcej czasu powinienem być w stanie wybrać najlepszą odpowiedź (jeśli jest taka, która to naprawia; ale może Apple powinno po prostu ją zdobyć!).
Matt
Phooey, wciąż się dzieje.
Matt
@Matt Czy widzisz coś związanego z moją odpowiedzią?
markhunte
ok, bardzo dziękuję! Czy próbowałeś utworzyć nowe konto użytkownika i przeanalizować, czy ten problem pojawia się również u nowego użytkownika lokalnego?
Przytul
2

Właśnie widziałem ten post na Tuaw.com jak naprawić błąd w filestatsagent-bug autorstwa Erici Sadun

Cytat z postu tuaw.com:

Czasami twój system może wydawać się kręcić kołami. Rzut oka na Monitor aktywności (znajdujący się w podfolderze Narzędzia w folderze Aplikacje) może dostarczyć wskazówek, co się dzieje ...

.. Jak odkryłem, niektórzy użytkownicy Mavericks mogą stwierdzić, że proces FileStatsAgent pochłania procesor. Jeśli tak się stanie, przyczyną jest zazwyczaj uszkodzony plik.

Następnie wyjaśniają, jak korzystać z opcji otwierania plików i portów w monitorze aktywności w procesie, aby zobaczyć, które pliki mogą powodować problem.

To może być twój problem ...

markhunte
źródło
2

Uwaga: mimo że odpowiedź całkowicie się zmieniła, jest to tylko późna edycja. Mam nadzieję, że i tak ktoś z tego skorzysta.

Znaleziono obejście, które faktycznie działa w końcu z OSXDaily . Podsumowując, wyłączenie automatycznego montowania udziału sieciowego załatwia sprawę (przynajmniej dla moich kilku komputerów Mac mam zainstalowany Mavericks).

Aby wyłączyć automatyczne montowanie udziału sieciowego, otwórz Terminal.app i wpisz następujące polecenia.

macbook:~$ sudo sh -c "cp /etc/auto_master /etc/auto_master.OLD && perl -i -pe 's/(^\/net)/#\$1/' /etc/auto_master && automount -vc"

To, co robi (w przypadku mniejszej wiedzy o wierszu poleceń, Bourne Shell i tym podobnych) polega na tym, że najpierw tworzy kopię zapasową pliku /etc/auto_master, a następnie edytuje jeden wiersz i wreszcie sygnalizuje automatyczny licznik do ponownego odczytu /etc/auto_master.

Następnie będziesz musiał ręcznie zamontować swoje udziały sieciowe. Więcej informacji w oryginalnym artykule OSXDaily .

Sami Laine
źródło
Dobra myśl - zastanawiałem się, czy generowanie podglądu ikon nie było przyczyną problemu. Niestety nadal mam sporadyczne powolne zachowanie Findera w aplikacjach, nawet w przypadku katalogów zawierających tylko kilka elementów.
Matt
Też tego doświadczyłem, ale otrzymałem pomoc z powyższego rozwiązania. Zaktualizowałem również odpowiedź, aby odzwierciedlić fakt, że daleko jej do rozwiązania w 100%.
Sami Laine,
1

Od kilku tygodni mam ten sam problem, wypróbowuję wszystkie sugestie wymienione tutaj i inne fora, ale bez powodzenia ... aż do dzisiejszej nocy!

TL; DR : Uruchom te 2 polecenia, a następnie uruchom ponownie.

mv ${TMPDIR}/com.apple.IconServices{,-bad}
mv ${TMPDIR}/../C/com.apple.IconServices{,-bad}

Wersja długa :

Problem nie wystąpił, gdy próbowałem nowo utworzonego konta użytkownika, więc wskazywał na coś w moim profilu. Usunąłem wszystkie preferencje i pamięci podręczne z folderu Library, ale problem pozostał.

Po sprawdzeniu dzienników systemowych zauważyłem, że podczas przeglądania folderu w Finderze często pojawiają się następujące 2 błędy.

12/16/14 12:24:29.908 AM com.apple.IconServicesAgent[244]: main Failed to composit image for binding VariantBinding [0x2af] flags: 0x8 binding: FileInfoBinding [0x3bf] - extension: mov, UTI: com.apple.quicktime-movie, fileType: ????.
12/16/14 12:24:29.908 AM quicklookd[8215]: Warning: Cache image returned by the server has size range covering all valid image sizes. Binding: VariantBinding [0xa03] flags: 0x8 binding: FileInfoBinding [0x903] - extension: mov, UTI: com.apple.quicktime-movie, fileType: ???? request size:16 scale: 1

Są one związane z tworzeniem / ładowaniem ikon dla różnych typów plików. Finder zawiesza się podczas próby narysowania ikon na liście plików, więc miało sens, że opóźniłoby się, gdyby wystąpiły problemy z pamięcią podręczną. Ponieważ IconServicesAgent nie jest aplikacją, z którą użytkownik wchodzi w interakcję, pamięć podręczna / prefs nie są zapisywane w typowym folderze ~ / Library /, ale w specjalnej ukrytej lokalizacji używanej dla aplikacji i demonów na poziomie systemu operacyjnego. Każdy użytkownik ma folder Cache and Temp w tej lokalizacji pod adresem /var/folders/. Musimy tylko zlokalizować i zmienić nazwę plików IconServicesAgent.

Po utworzeniu konta użytkownika system generuje tutaj folder dla użytkownika, ale o nazwie składającej się z 32 pozornie losowych znaków. Ponieważ są losowe, nie mogę podać dokładnej ścieżki, ale zmienna środowiskowa TMPDIR może. (Jeśli chcesz wiedzieć, uruchom polecenie, echo $TMPDIRaby uzyskać ścieżkę do własnego folderu Temp. Będzie to coś podobnego, /var/folders/jc/vzc51tfn2jzbzqkr9j3g38gm0000gn/T/ale tak naprawdę nie jest nam potrzebne. Poniższe polecenia będą po prostu bezpośrednio używać zmiennej)

Teraz zmień nazwę folderu com.apple.IconServices w katalogu T [temp] za pomocą tego polecenia.

mv ${TMPDIR}/com.apple.IconServices{,-bad}

Następnie musimy zrobić to samo w katalogu Cache, który znajduje się w tym samym katalogu nadrzędnym co Tkatalog. To polecenie zrobi to, czego potrzebujesz.

mv ${TMPDIR}/../C/com.apple.IconServices{,-bad}

Teraz uruchom ponownie komputer Mac i po ponownym zalogowaniu Finder powinien być znowu szybki.

Oprogramowanie Insomniac
źródło
0

Czasami mam podobny problem: Finder zupełnie nie reaguje, tzn. Wszystkie okna Findera są zamrożone i wszystkie pokazują wirującą piłkę plażową.

W takim przypadku jedyną rzeczą, która pomogła, było otwarcie Monitora aktywności i zabicie Findera (tj. Ponowne uruchomienie) kilka razy. Czasami musiałem uruchomić go ponownie do 5 razy.

(Do tej pory nie byłem w stanie wskazać winowajcy. Nie zamontowałem żadnych dysków sieciowych).

Gabriel
źródło
0

Zdarzyło mi się to w Yosemite. W niektórych folderach ich zawartość wyświetlała się dobrze, inne miały pokrętło. Wszystkie omawiane foldery były folderami lokalnymi, a ich zawartość wyświetlała się dobrze lsw terminalu.

Problemem, który wydawał mi się związany, było podłączenie udziału sieciowego przed zamknięciem pokrywy w moim laptopie, a następnie otwarcie laptopa i połączenie z inną siecią, w której ten udział nie był dostępny. Udział nadal był wyświetlany w lewym panelu okna Findera, ale nie pokazywał żadnej zawartości. W terminalu mountnadal pokazywał udział jako zamontowany. Gdy zarówno Finder, jak i terminal były otwarte, wpisałem umount /Volumes/USBSTORAGEterminal. Jak tylko to zrobiłem, okno Findera stało się responsywne i natychmiast wyświetliło zawartość wybranego katalogu lokalnego.

Wygląda na to, że w Finderze jest jakiś kod, który zostaje zablokowany podczas pracy z pamięcią zdalną, która również blokuje niektóre lokalne operacje na plikach.

tylko nikt
źródło