Proces icdd zużywa znaczną ilość pamięci w systemie macOS

12

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.

wprowadź opis zdjęcia tutaj

Czy ktoś wie, czym jest ten proces lub jak mogę zapobiec temu problemowi co około 30 minut?

Zach
źródło
1
Nie jesteś pierwszą osobą, która ma ten problem. Sprawdź, czy ta odpowiedź pomaga: superuser.com/questions/748933/…
NoahL
1
icdd jest powiązany z Image Capture.app/service. Czy masz podłączone jakieś urządzenia, takie jak skaner, drukarka-skaner lub aparat?
klanomath
Ponadto - jeśli wylogujesz się, a następnie ponownie zalogujesz - jak zmieni się używany 7,24 (aplikacja 1,08, przewodowe 1,75, skompresowane 4,41)? Może to być zwykły wyciek pamięci, który wylogowuje się i usuwa. Jeśli się nie wyczyści, spróbuję wyłączyć skaner antywirusowy, uruchomić ponownie komputer i sprawdzić, czy pamięć przyspieszy.
bmike
To rozwiązanie nie dotyczyło mojego problemu. @klanomath Nie mam żadnych urządzeń zewnętrznych podłączonych do mojego MacBooka.
Zach.
@Zach lcdd jest kontrolowany przez agenta uruchamiania. Zawiera klucz „Włącz wyjście ciśnienia”, który jest domyślnie wyłączony. Możesz go włączyć tymczasowo (= zabić lcdd, jeśli ciśnienie pamięci wzrośnie do wysokiego) i sprawdzić wynik. Tak jak wspomniany już motocykl, prawdziwym powodem jest prawdopodobnie przeciek pamięci ...
klanomath

Odpowiedzi:

6

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.

datatoolbox
źródło
3

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:

1) wyłącz SIP ( link )

2) wpisz następujące polecenia:

cd / Aplikacje

sudo mv Image \ Capture.app/ Disable \ Image \ Capture.app/

cd / System / Library / Image \ Capture / Support /

sudo mv icdd icdd-disable

3) uruchom ponownie

4) włącz SIP, jeśli Cię to obchodzi

Oryginalny link: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx

Mam nadzieję, że to pomaga.

Mr.Boy
źródło
0

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:

  • początek 2011 13-calowy MacBook Pro
  • 500 GB Samsung SSD (uaktualniony ~ 1,5 roku temu)
  • 8 GB RAM (uaktualnione ~ 1 miesiąc temu)
  • macOS Sierra 10.12.3 (do
  • Parallels 10 z systemem Windows 10 dla oprogramowania SAS
Gary
źródło