W ostatnim tygodniu proces „icdd” zaczynał się od czasu do czasu, a kiedy to robi, zużywa ogromną ilość pamięci RAM (powyżej 7 GB). Kiedy tak się dzieje, mój MacBook Pro zasadniczo przestaje działać, dopóki nie mogę otworzyć Monitora aktywności i wymusić zabicie procesu.
Dołączyłem zrzut ekranu monitora aktywności pokazujący icdd z wykorzystaniem ponad 7 GB pamięci RAM i gwałtowny wzrost ciśnienia pamięci.
Czy ktoś wie, czym jest ten proces lub jak mogę zapobiec temu problemowi co około 30 minut?
Odpowiedzi:
Od ponad roku współpracuję ze starszym doradcą technicznym Apple w tej sprawie, a wcześniej pracowałem z innym starszym doradcą. Zrobiliśmy „przechwytywanie danych”, aby kilkakrotnie przesyłać do inżynierów Apple, i kilkakrotnie nagrywaliśmy ekrany, aby zademonstrować, co się dzieje w Monitoru aktywności, Przechwytywaniu obrazu, a ostatecznie w liście, którą icdd utrzymuje pod adresem / Users / nazwa_użytkownika / Library / Application Support / icdd / deviceInfoCache.plist (wyświetlając go w Xcode).
W tym miejscu oto moje najlepsze oszacowanie tego, co się dzieje:
W procesie icdd (baza danych urządzeń do przechwytywania obrazów) skanery przychodzą i wychodzą w ruchliwej sieci. Próbuje zachować listę plików ikon w tablicy skrótów, którą zapisuje również w wyżej wymienionym pliku deviceInfoCache.plist. Tak - to brzmi szalenie - zachowuje odniesienia do plików ikon skanerów. Ale bardziej szalone jest to, że z jakiegoś powodu prawie wszystkie wpisy w tym pliku wskazują na pliki .icns, które nie istnieją. Z kilku systemów, które obejrzałem, w pliku znajduje się wiele tysięcy wpisów, ale tylko kilka plików .icns istniało na jednym komputerze i żaden nie istniał na innych. Uważam, że gdy ten plik staje się duży, icdd spędza dużo czasu próbując sprawdzić, czy istnieją wpisy w pliku .plist i zmodyfikować plik. Wierzę w to z dwóch powodów. Po pierwsze, kiedy zabieram laptopa do domu, proces icdd czasami nadal działa na około 100% procesora, ale kiedy go zabiję, wraca do „normalnego” około 0,0 do 0,1% za każdym razem. Dlatego myślę, że czasem wciąż próbuje przetwarzać informacje o wpisach, gdy otwieram je w domu. Ale kiedy go zabiję, gdy jestem w zajętej sieci, często natychmiast wraca prawie w 100%. Kiedy liczba skanerów pokazanych w Image Capture spadnie (co często robi, ale z jakiegoś powodu okresowo rośnie), icdd w końcu się uspokoi. Po drugie, usunięcie pliku deviceInfoCache.plist powoduje, że icdd zachowuje się rozsądnie przez krótki czas - aż liczba wpisów ponownie się nie zwiększy. Zauważ, że icdd zachowuje kopię tych wpisów w pamięci, więc jeśli usuniesz plik z konta użytkownika, icdd po prostu przepisuje go natychmiast. I oczywiście, nie możesz zabić icdd wystarczająco długo, aby usunąć plik, więc musisz się wylogować i usunąć plik z innego konta administratora za pośrednictwem terminala. icdd odtworzy plik po ponownym zalogowaniu, ale będzie miał stosunkowo niewiele wpisów i przez jakiś czas będzie się dobrze zachowywał.
Aby dać wyobrażenie o skalach, inżynierowie Apple byli zszokowani, widząc, że mam aż 85 skanerów wyświetlających się w Image Capture. Często jednak liczba ta spada do około 6 w tym samym systemie i w tych samych ramach czasowych. Plik deviceInfoCache.plist zawiera od 8 000 do 12 600 wpisów w systemach, na które patrzyłem, które miały problemy z icdd - mój jest większy i sądzę, że został przeniesiony ze starszej maszyny, ponieważ miałem problemy z icdd od momentu skonfigurowania mojego nowego MacBooka Pro w grudniu 2016 r. Kiedy usunąłem plik plist, liczba początkowych wpisów w nowo utworzonym pliku wynosiła 44 i przez kilka dni użycie procesora icdd wahało się w pobliżu 0,0%. Jednak po około 5 dniach w kampusie mój plik listy plist ma 964 wpisów, a użycie procesora icdd będzie rutynowo odbijało się od 30% do 90% w ruchliwej sieci na uniwersytecie. Kiedy jestem w domu, plik plist zwiększy tylko liczbę wpisów o 0 do 2 w ciągu dnia. Z 12,600 wpisów w moim poprzednim pliku plist tylko 2 z nich zawierają „deviceName”, reszta zawiera „iconPathLocation”, z których wszystkie wskazują na nieistniejące pliki .icns. Przy obecnym plist wciąż są dokładnie 2 wpisy zawierające „deviceName”, a reszta zawiera „iconPathLocation”, który nie istnieje. z których wszystkie wskazują na nieistniejące pliki .icns. Przy obecnym plist wciąż są dokładnie 2 wpisy zawierające „deviceName”, a reszta zawiera „iconPathLocation”, który nie istnieje. z których wszystkie wskazują na nieistniejące pliki .icns. Przy obecnym plist wciąż są dokładnie 2 wpisy zawierające „deviceName”, a reszta zawiera „iconPathLocation”, który nie istnieje.
Krótkoterminowym rozwiązaniem jest więc usunięcie pliku plist z innego konta administratora za pośrednictwem terminala po wylogowaniu z konta użytkownika. Mam nadzieję, że dzięki tym informacjom dostarczonym teraz inżynierom Apple od mojego starszego doradcy, inżynierowie Apple będą mieli wystarczającą ilość informacji, aby dowiedzieć się, dlaczego icdd działa w ten sposób i rozwiązać problem. Oczywiście prawdopodobnie pomogłoby to, gdybyś mógł zweryfikować moje krótkoterminowe rozwiązanie i kontynuować zgłaszanie tego, co znajdziesz w Apple.
źródło
Przez jakiś czas zajmowałem się tym problemem i sprawdzałem wszędzie! To frustrujące ... W końcu znalazłem link, że mógłbym powstrzymać to głupie szaleństwo. Nie jestem pewien, czy to jest przyczyną problemu, ale może to zatrzymać. Oto kroki:
Oryginalny link: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx
Mam nadzieję, że to pomaga.
źródło
Walczę również z tym problemem. Nie znajdując odpowiedzi online i nie chcąc zadzierać z terminalem, zadzwoniłem do działu wsparcia Apple. Początkowo myśleli, że mój HD jest uszkodzony (to było - to zostało naprawione, ale nie rozwiązało problemu). Problem nie zniknął po zwiększeniu pamięci RAM. Podpowiedziany przez komentarz internetowy dotyczący wyszukiwań skanera sieciowego zauważyłem, że ICDD oszaleje tylko po włączeniu Wi-Fi. Gdybym odłączył się od Wi-Fi i opuścił ICDD, nie uruchomiłby się ponownie i nie zająłby więcej pamięci RAM lub procesora (dopóki Wi-Fi nie zostanie ponownie włączony).
Ponownie zadzwoniłem do działu wsparcia Apple, który wydaje się, że naprawił problem, resetując SMC i NVRAM. Teraz ICDD działa na niskim poziomie (10-20 MB) zamiast zużywać ponad 10 GB pamięci RAM. Dodałem poniższe linki, aby to zrobić, ale zalecamy skontaktowanie się z pomocą techniczną Apple w celu rozwiązania konkretnego problemu.
Ich wyjaśnienie, dlaczego tak się dzieje, miało związek z zatkaniem pamięci RAM lub zapełnieniem pamięci podręcznej Internetu itp. Dlaczego nie stało się jasne i czy jest to związane z Sierra, nie mogę powiedzieć.
Mam nadzieję, że to pomaga niektórym ludziom!
Zresetuj SMC: https://support.apple.com/en-us/ht201295
Zresetuj NVRAM: https://support.apple.com/en-us/ht204063
Poprawka 10-15 minut.
Moje specyfikacje:
źródło