In der letzten Woche hat der Prozess 'icdd' von Zeit zu Zeit begonnen und verbraucht dabei enorm viel RAM (ab 7 GB). In diesem Fall funktioniert mein MacBook Pro im Wesentlichen nicht mehr, bis ich den Aktivitätsmonitor öffnen und den Vorgang erzwingen kann.
Ich habe einen Screenshot des Aktivitätsmonitors angehängt, der icdd mit über 7 GB RAM zeigt und den Speicherdruck in die Höhe schnellen lässt.
Weiß jemand, was dieser Prozess ist oder wie ich verhindern kann, dass dieses Problem etwa alle 30 Minuten auftritt?
Antworten:
Ich arbeite seit über einem Jahr mit einem leitenden technischen Berater bei Apple an diesem Thema und habe zuvor einige Zeit mit einem anderen leitenden Berater zusammengearbeitet. Wir haben mehrfach "Datenerfassung" durchgeführt, um sie an Apple Engineers zu senden, und mehrmals Bildschirmaufzeichnungen durchgeführt, um zu demonstrieren, was in Activity Monitor, Image Capture und letztendlich in einer Liste, die icdd unter / Users / user_name verwaltet, vor sich geht / Library / Application Support / icdd / deviceInfoCache.plist (durch Anzeige in Xcode).
An dieser Stelle ist hier meine beste Schätzung dessen, was passiert:
Beim icdd-Prozess (Image Capture Device Database) kommen und gehen Scanner in einem ausgelasteten Netzwerk. Es wird versucht, eine Liste ihrer Symboldateien in einer Hash-Tabelle zu speichern, die auch in die oben erwähnte Datei deviceInfoCache.plist geschrieben wird. Ja - das klingt verrückt - es werden Verweise auf die Symboldateien der Scanner beibehalten. Aber noch verrückter ist, dass aus irgendeinem Grund fast alle Einträge in dieser Datei auf .icns-Dateien verweisen, die nicht existieren. Von mehreren Systemen, die ich mir angesehen habe, gab es viele tausend Einträge in der Datei, aber nur einige der ICNS-Dateien waren auf einem der Computer vorhanden, und keiner war auf den anderen vorhanden. Ich glaube, wenn diese Datei groß wird, verbringt icdd viel Zeit damit, die Existenz von Einträgen in der .plist-Datei zu überprüfen und die Datei zu ändern. Ich glaube das aus zwei Gründen. Erstens, wenn ich meinen Laptop mit nach Hause nehme, Der icdd-Prozess läuft manchmal mit ungefähr 100% einer CPU weiter, aber wenn ich ihn dann töte, kehrt er jedes Mal zum "normalen" ungefähr 0,0 bis 0,1% zurück. Daher denke ich, dass es manchmal immer noch versucht, Informationen über die Einträge zu verarbeiten, wenn ich sie zu Hause öffne. Aber wenn ich es im geschäftigen Netzwerk töte, kommt es oft sofort zu fast 100% zurück. Wenn die Anzahl der in Image Capture angezeigten Scanner abnimmt (was häufig der Fall ist, aber aus irgendeinem Grund regelmäßig ansteigt), wird sich icdd schließlich beruhigen. Und zweitens führt das Löschen der Datei deviceInfoCache.plist dazu, dass sich icdd für kurze Zeit angemessen verhält - bis sich die Anzahl der Einträge wieder erhöht. Beachten Sie, dass icdd eine Kopie dieser Einträge im Speicher verwaltet. Wenn Sie die Datei also aus dem Benutzerkonto löschen, schreibt icdd sie sofort neu. Und natürlich, Sie können icdd nicht lange genug beenden, um die Datei zu löschen. Sie müssen sich daher abmelden und die Datei über das Terminal von einem anderen Administratorkonto löschen. icdd erstellt die Datei neu, wenn Sie sich wieder anmelden, hat jedoch relativ wenige Einträge und verhält sich eine Weile gut.
Apple Engineers war schockiert, als ich sah, dass in Image Capture bis zu 85 Scanner angezeigt wurden. Oft wird sich diese Zahl jedoch auf demselben System und in denselben Zeiträumen auf etwa 6 einstellen. Die Datei deviceInfoCache.plist hatte zwischen 8.000 und 12.600 Einträge auf den Systemen, die ich mir angesehen habe und bei denen icdd-Probleme aufgetreten sind - meine ist die größere, und ich glaube, dies wurde von einem älteren Computer übertragen, da ich icdd-Probleme hatte Seit ich mein neues MacBook Pro im Dezember 2016 eingerichtet habe. Als ich die plist-Datei löschte, betrug die Anzahl der ersten Einträge in der neu erstellten Datei 44, und einige Tage lang lag die ICDD-CPU-Auslastung nahe bei 0,0%. Nach ungefähr 5 Tagen auf dem Campus hat meine Plist-Datei jedoch 964 Entires, und die CPU-Auslastung von icdd springt routinemäßig zwischen 30% und 90% im ausgelasteten Netzwerk der Universität. Wenn ich zu Hause bin, erhöht die Plist-Datei die Anzahl der Einträge im Laufe eines Tages nur um 0 bis 2. Von den 12.600 Einträgen in meiner vorherigen Plist-Datei enthalten nur 2 einen "Gerätenamen", der Rest einen "iconPathLocation", die alle auf nicht vorhandene ICNS-Dateien verweisen. Mit der aktuellen Liste gibt es noch genau 2 Einträge, die einen "Gerätenamen" enthalten, und der Rest enthält einen "iconPathLocation", der nicht vorhanden ist. Alle diese Punkte verweisen auf nicht vorhandene ICNS-Dateien. Mit der aktuellen Liste gibt es noch genau 2 Einträge, die einen "Gerätenamen" enthalten, und der Rest enthält einen "iconPathLocation", der nicht vorhanden ist. Alle diese Punkte verweisen auf nicht vorhandene ICNS-Dateien. Mit der aktuellen Liste gibt es noch genau 2 Einträge, die einen "Gerätenamen" enthalten, und der Rest enthält einen "iconPathLocation", der nicht vorhanden ist.
Die kurzfristige Lösung besteht also darin, die Plist-Datei über ein Terminal von einem anderen Administratorkonto zu löschen, während Sie von Ihrem Benutzerkonto abgemeldet sind. Mit diesen Informationen, die Apple Engineers jetzt von meinem Senior Advisor zur Verfügung gestellt werden, verfügen Apple Engineers hoffentlich über genügend Informationen, um herauszufinden, warum icdd so handelt, und um das Problem zu beheben. Natürlich wäre es wahrscheinlich hilfreich, wenn Sie meine kurzfristige Lösung überprüfen und Apple weiterhin mitteilen könnten, was Sie gefunden haben.
quelle
Ich habe mich eine Weile mit diesem Problem beschäftigt und überall nachgesehen! Es ist frustrierend ... Endlich habe ich einen Link gefunden, mit dem ich diesen dummen Wahnsinn stoppen kann. Ich bin nicht sicher, ob dies die Ursache des Problems ist, aber es könnte es stoppen. Hier sind die Schritte:
Ursprünglicher Link: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx
Hoffentlich hilft es.
quelle
Ich habe auch mit diesem Problem zu kämpfen. Ich fand online keine Antworten und wollte mich nicht mit dem Terminal anlegen. Ich rief den Apple Support an. Anfangs dachten sie, meine Festplatte sei beschädigt (es war - das wurde behoben, aber das Problem wurde nicht behoben). Das Problem blieb bestehen, nachdem mein RAM vergrößert wurde. Aufgefordert durch einen Internetkommentar bezüglich der Suche nach Netzwerkscannern bemerkte ich, dass ICDD nur verrückt werden würde, wenn Wi-Fi aktiviert war. Wenn ich die Verbindung zu Wi-Fi trennen und ICDD beenden würde, würde es nicht neu starten und die RAM- oder CPU-Auslastung erhöhen (bis Wi-Fi wieder aktiviert wird).
Ich rief erneut den Apple Support an, der das Problem anscheinend durch Zurücksetzen von SMC und NVRAM behoben hat. Jetzt läuft ICDD auf einem niedrigen Niveau (10-20 MB), anstatt mehr als 10 GB RAM zu verbrauchen. Ich habe unten Links hinzugefügt, um dies zu tun, aber ich würde empfehlen, den Apple Support für Ihr spezifisches Problem anzurufen.
Ihre Erklärung, warum dies geschieht, hatte damit zu tun, dass mein RAM verstopft oder voll mit Internet-Caches usw. war. Warum es gerade erst offensichtlich geworden ist und ob es mit Sierra zusammenhängt, kann ich nicht sagen.
Ich hoffe das hilft einigen Leuten!
SMC zurücksetzen: https://support.apple.com/en-us/ht201295
NVRAM zurücksetzen: https://support.apple.com/en-us/ht204063
10-15 Minuten reparieren.
Meine Angaben:
quelle
Während die obigen Antworten bessere technische Daten liefern, möchte ich einen allgemeinen Hinweis hinzufügen.
Wir haben es wahrscheinlich mit einer miesen Software zu tun, die jahrelang alte Fehler enthält, die nicht richtig getestet wurde und wahrscheinlich nie behoben wird. Das ist alles. In den letzten zehn Jahren hat sich das Apple Software Engineering ständig verschlechtert, und wir müssen uns ständig mit solchen Szenarien abfinden.
Normalerweise würde das Zurücksetzen solcher Softwareteile auf ihren ursprünglichen Zustand (z. B. durch Löschen von Caches und Festlegen von Dateien, .plists oder sogar Zurücksetzen ihrer Benutzerstandards) das Problem für einige Zeit lösen.
Eine andere Möglichkeit besteht darin, das Betriebssystem-bezogene Subsystem zurückzusetzen. In diesem Fall können Sie beispielsweise das Drucksystem "zurücksetzen", wodurch wahrscheinlich der Kopf von icdd für eine Weile gelöscht wird. Sie werden jedoch gezwungen, Ihre Druckumgebung erneut einzurichten.
Und natürlich kann das Öffnen neuer RADR-Einträge für Apple möglicherweise die Aufmerksamkeit auf das fehlerhafte Subsystem lenken.
quelle