Au cours de la semaine dernière, le processus «icdd» a démarré de temps en temps et lorsqu'il le fait, il consomme une quantité énorme de RAM (jusqu'à 7 Go). Lorsque cela se produit, mon MacBook Pro devient essentiellement non fonctionnel jusqu'à ce que je puisse ouvrir le moniteur d'activité et tuer le processus de force.
J'ai joint une capture d'écran du moniteur d'activité montrant icdd utilisant plus de 7 Go de RAM et faisant monter en flèche la pression de la mémoire.
Est-ce que quelqu'un sait ce qu'est ce processus ou comment je peux empêcher ce problème de se produire toutes les 30 minutes environ?
Réponses:
Je travaille avec un conseiller technique principal d'Apple sur cette question depuis plus d'un an et je travaillais avec un autre conseiller principal depuis un certain temps auparavant. Nous avons effectué la «capture de données» à envoyer aux ingénieurs Apple à plusieurs reprises et effectué des enregistrements d'écran à plusieurs reprises pour montrer ce qui se passe dans le moniteur d'activité, la capture d'image et, finalement, dans une liste que l'icdd maintient dans / Users / user_name / Library / Application Support / icdd / deviceInfoCache.plist (en l'affichant dans Xcode).
À ce stade, voici ma meilleure estimation de ce qui se passe:
Le processus icdd (Image Capture Device Database) voit les scanners aller et venir sur un réseau occupé. Il tente de conserver une liste de leurs fichiers d'icônes dans une table de hachage, qu'il écrit également dans le fichier deviceInfoCache.plist mentionné ci-dessus. Oui - cela semble fou - cela garde les références aux fichiers d'icônes des scanners. Mais encore plus fou, pour une raison quelconque, presque toutes les entrées de ce fichier pointent vers des fichiers .icns qui n'existent pas. Sur plusieurs systèmes que j'ai examinés, il y a eu plusieurs milliers d'entrées dans le fichier, mais seulement quelques-uns des fichiers .icns existaient sur l'une des machines, et aucun n'existait sur les autres. Je crois que lorsque ce fichier devient volumineux, icdd passe beaucoup de temps à essayer de vérifier l'existence d'entrées dans le fichier .plist et à modifier le fichier. Je crois cela pour deux raisons. Tout d'abord, quand je ramène mon ordinateur portable à la maison, le processus icdd continue parfois de fonctionner à environ 100% d'un processeur, mais quand je le tue, il revient à la "normale" environ 0,0 à 0,1%, à chaque fois. Par conséquent, je pense qu'il essaie parfois encore de traiter les informations sur les entrées lorsque je les ouvre à la maison. Mais quand je le tue sur le réseau occupé, il revient souvent à près de 100% tout de suite. Lorsque le nombre de scanners affichés dans Image Capture diminue (ce qui est souvent le cas, mais augmente périodiquement pour une raison quelconque), icdd finira par se stabiliser. Et deuxièmement, la suppression du fichier deviceInfoCache.plist fait que icdd se comporte raisonnablement pendant un court instant - jusqu'à ce que le nombre d'entrées se reconstitue. Notez que icdd conserve une copie de ces entrées en mémoire, donc si vous supprimez le fichier du compte utilisateur, icdd le réécrit immédiatement. Et bien sûr, vous ne pouvez pas tuer icdd assez longtemps pour supprimer le fichier, vous devez donc vous déconnecter et supprimer le fichier d'un autre compte administrateur via le terminal. icdd recréera le fichier lorsque vous vous reconnecterez, mais il aura relativement peu d'entrées et se comportera bien pendant un certain temps.
Pour donner une idée des échelles, les ingénieurs Apple ont été choqués de voir que j'avais jusqu'à 85 scanners affichés dans Image Capture. Souvent, cependant, ce nombre s'établira à environ 6 sur le même système et dans les mêmes délais. Le fichier deviceInfoCache.plist a eu entre 8 000 et 12 600 entrées sur les systèmes que j'ai examinés qui ont eu des problèmes icdd - le mien est le plus grand, et je crois que cela a été transféré d'une ancienne machine depuis que j'avais des problèmes icdd à partir du moment où j'ai installé mon nouveau MacBook Pro en 2016-décembre. Lorsque j'ai supprimé le fichier plist, le nombre d'entrées initiales dans le fichier nouvellement créé était de 44, et pendant quelques jours, l'utilisation du processeur icdd a oscillé près de 0,0%. Cependant, après environ 5 jours sur le campus, mon dossier de plist compte 964 entrées, et l'utilisation du processeur graphique icdd rebondira régulièrement entre 30% et 90% sur le réseau occupé de l'université. Lorsque je suis à la maison, le fichier plist n'augmentera son nombre d'entrées que de 0 à 2 au cours d'une journée. Sur les 12 600 entrées de mon fichier plist précédent, seulement 2 d'entre elles contiennent un "nom de périphérique", les autres contiennent un "iconPathLocation", qui pointent tous vers des fichiers .icns inexistants. Avec le plist actuel, il y a toujours exactement 2 entrées qui contiennent un "deviceName" et les autres contiennent un "iconPathLocation" qui n'existe pas. qui pointent tous vers des fichiers .icns inexistants. Avec le plist actuel, il y a toujours exactement 2 entrées qui contiennent un "deviceName" et les autres contiennent un "iconPathLocation" qui n'existe pas. qui pointent tous vers des fichiers .icns inexistants. Avec le plist actuel, il y a toujours exactement 2 entrées qui contiennent un "deviceName" et les autres contiennent un "iconPathLocation" qui n'existe pas.
Ainsi, la solution à court terme consiste à supprimer le fichier plist d'un autre compte administrateur via le terminal tout en étant déconnecté de votre compte utilisateur. Si tout va bien, avec cette information étant maintenant fournie aux ingénieurs Apple par mon conseiller principal, les ingénieurs Apple auront suffisamment d'informations pour comprendre pourquoi icdd agit de cette façon et résoudre le problème. Bien sûr, il serait probablement utile que vous puissiez vérifier ma solution à court terme et continuer à signaler ce que vous trouvez à Apple.
la source
Je traite ce problème depuis un certain temps et j'ai vérifié partout! C'est frustrant ... Enfin j'ai trouvé un lien qui m'a permis de stopper cette stupide folie. Je ne sais pas si c'est la source du problème mais cela pourrait l'arrêter. Voici les étapes:
Lien d'origine: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx
J'espère que cela aide.
la source
J'ai également eu du mal avec ce problème. Ne trouvant pas de réponses en ligne et ne voulant pas jouer avec le terminal, j'ai appelé le support Apple. Au départ, ils pensaient que ma HD était corrompue (c'était - c'était corrigé mais cela n'a pas résolu le problème). Le problème a persisté après avoir augmenté ma RAM. Invité par un commentaire sur Internet concernant les recherches de scanner de réseau, j'ai remarqué que l'ICDD ne deviendrait fou que lorsque le Wi-Fi était activé. Si je me déconnectais du Wi-Fi et quittais l'ICDD, il ne redémarrerait pas et n'augmenterait pas l'utilisation de la RAM ou du CPU (jusqu'à ce que le Wi-Fi soit réactivé).
J'ai de nouveau appelé le support Apple qui semble avoir résolu le problème en réinitialisant SMC et NVRAM. Désormais, l'ICDD fonctionne à un faible niveau (10-20 Mo) plutôt que de consommer plus de 10 Go de RAM. J'ai ajouté des liens ci-dessous pour les faire, mais je recommanderais d'appeler l'assistance Apple pour votre problème spécifique.
Leur explication de la raison pour laquelle cela se produit est liée au fait que ma mémoire RAM est obstruée ou pleine de caches Internet, etc.
J'espère que cela aidera certaines personnes!
Réinitialiser SMC: https://support.apple.com/en-us/ht201295
Réinitialisez la NVRAM: https://support.apple.com/en-us/ht204063
10-15 minutes de correction.
Mes spécifications:
la source
Bien que les réponses ci-dessus fournissent de meilleures données techniques, je voudrais ajouter une note générale.
Ce que nous avons affaire est probablement un logiciel moche, qui contient de vieux bogues depuis des années, qui n'a pas été testé correctement et qui ne sera probablement jamais corrigé. C'est tout. Au cours de la dernière décennie, l'ingénierie logicielle Apple s'est détériorée de manière constante et nous devons tout le temps accepter de tels scénarios.
Habituellement, la réinitialisation de ces éléments logiciels à leur état d'origine (par exemple, en supprimant les caches et en définissant les fichiers, .plists ou même en réinitialisant leurs paramètres par défaut) atténuerait le problème pendant un certain temps.
Une autre façon consiste à réinitialiser le sous-système lié au système d'exploitation. Dans ce cas, par exemple, vous permettra de "réinitialiser le système d'impression", ce qui effacera probablement la tête d'icdd pendant un certain temps - mais vous forcera à configurer à nouveau votre environnement d'impression.
Et bien sûr, l'ouverture de nouvelles entrées RADR à Apple pourrait éventuellement attirer leur attention sur le sous-système défectueux.
la source