17 votes

Le processus icdd consomme beaucoup de mémoire sous MacOS

Depuis une semaine environ, le processus "icdd" démarre de temps en temps et consomme alors une quantité massive de RAM (plus de 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 de force le processus.

J'ai joint une capture d'écran du moniteur d'activité montrant qu'icdd utilise plus de 7 Go de RAM et fait monter en flèche la pression mémoire.

enter image description here

Quelqu'un sait-il ce qu'est ce processus ou comment je peux empêcher ce problème de se produire toutes les 30 minutes environ ?

0 votes

Cette solution n'était pas applicable à mon problème. @klanomath Je n'ai aucun périphérique externe connecté à mon MacBook.

0 votes

@Zach lcdd est contrôlé par un agent de lancement. Il contient une clé "Enable pressure exit" qui est désactivée par défaut. Vous pouvez l'activer temporairement (=kill lcdd si la pression mémoire devient trop élevée) et vérifier le résultat. Comme bmike l'a déjà mentionné, la vraie raison est probablement une fuite de mémoire...

0 votes

Je dépanne ce problème depuis quelques semaines maintenant, c'est une consommation importante de la batterie. Il se déclenche toutes les quelques minutes et brûle environ 5% de la batterie en quelques secondes, en faisant tourner un ou plusieurs cœurs à 100%.

9voto

datatoolbox Points 91

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 quelque temps déjà. Nous avons fait des "captures de données" à envoyer aux ingénieurs d'Apple à plusieurs reprises et fait des enregistrements d'écran à plusieurs reprises pour démontrer ce qui se passe dans le moniteur d'activité, la capture d'image, et, finalement, dans une plist qu'icdd maintient à /Users/nom_utilisateur/Bibliothèque/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ône dans une table de hachage, qu'il écrit également dans le fichier deviceInfoCache.plist mentionné ci-dessus. Oui - cela semble fou - il conserve des références aux fichiers d'icône des scanners. Mais ce qui est encore plus fou, c'est que, 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 avait plusieurs milliers d'entrées dans le fichier, mais seuls quelques fichiers .icns existaient sur l'une des machines, et aucun sur les autres. Je pense 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 le pense pour deux raisons. Tout d'abord, lorsque je ramène mon ordinateur portable à la maison, le processus icdd continue parfois à fonctionner à environ 100 % de l'unité centrale, mais lorsque je le tue ensuite, il revient à la "normale" d'environ 0,0 à 0,1 %, à chaque fois. Par conséquent, je pense qu'il essaie parfois encore de traiter des informations sur les entrées lorsque je l'ouvre à la maison. Mais lorsque je l'arrête alors que je suis sur le réseau occupé, il revient souvent à près de 100% immédiatement. Lorsque le nombre de scanners affichés dans Image Capture diminue (ce qui est souvent le cas, mais peut périodiquement atteindre un pic pour une raison quelconque), icdd finit par se stabiliser. Ensuite, la suppression du fichier deviceInfoCache.plist permet à icdd de se comporter raisonnablement pendant un court moment - jusqu'à ce que le nombre d'entrées augmente à nouveau. Notez qu'icdd maintient 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 à partir 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 d'Apple ont été choqués de voir que j'avais jusqu'à 85 scanners s'affichant dans Image Capture. Souvent, cependant, ce nombre se stabilise à environ 6 sur le même système et pendant les mêmes périodes. Le fichier deviceInfoCache.plist avait entre 8 000 et 12 600 entrées sur les systèmes que j'ai examinés et qui avaient des problèmes d'icdd - le mien est le plus grand, et je crois que cela a été reporté d'une machine plus ancienne puisque j'avais des problèmes d'icdd depuis que j'ai installé mon nouveau MacBook Pro en 2016-Dec. 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 cpu d'icdd a oscillé près de 0,0%. Cependant, après environ 5 jours sur le campus, mon fichier plist a 964 entrées, et l'utilisation icdd cpu va régulièrement rebondir entre 30% et 90% sur le réseau occupé de l'université. Lorsque je suis à la maison, le fichier plist n'augmente son nombre d'entrées que de 0 à 2 au cours d'une journée. Sur les 12 600 entrées de mon précédent fichier plist, seules 2 d'entre elles contiennent un "deviceName", le reste contient un "iconPathLocation", qui pointent tous vers des fichiers .icns inexistants. Avec le fichier plist actuel, il y a toujours exactement 2 entrées qui contiennent un "deviceName", et le reste contient un "iconPathLocation" qui n'existe pas.

Ainsi, la solution à court terme est de supprimer le fichier plist à partir d'un autre compte administrateur via le terminal tout en étant déconnecté de votre compte utilisateur. J'espère qu'avec ces informations fournies par mon conseiller principal, les ingénieurs d'Apple disposeront de suffisamment d'informations pour comprendre pourquoi icdd agit de cette manière et résoudre le problème. Bien sûr, il serait probablement utile que vous puissiez vérifier ma solution à court terme et continuer à rapporter ce que vous trouvez à Apple.

0 votes

Bon article, qui permet de comprendre comment se comporte l'icdd. Mais à quoi sert-il ? Où ces icônes (du moins celles qui existent) sont-elles affichées ? Quelle est la fonction de cet icdd ? et lorsque vous supprimez les fichiers .plist, quelle fonctionnalité perdez-vous ? De plus, dans mon cas, il y a 5 utilisateurs sur le même Mac, et leurs fichiers .plist d'icdd ne concordent PAS, mais cela fait qu'icdd se plante occasionnellement et ne collecte pas de déchets et ne monopolise pas le CPU.

0 votes

@Motti Shneor Le deviceInfoCache.plist serait occasionnellement ont un appareil réel listé dedans, et je pense que c'est le but recherché. Je pense que c'était un bogue qui l'amenait à garder la trace de fichiers d'images d'icônes - dont la plupart n'existaient pas. C'était ma supposition initiale, mais je le dis avec plus de confiance maintenant parce que regardant ma version actuelle de ce plist, il a exactement une entrée, qui est pour un périphérique réel. Par conséquent, je pense qu'Apple a corrigé ce problème à une certaine version de l'OS (je soupçonne Catalina).

0 votes

@Motti Shneor En supprimant le plist, je n'ai jamais remarqué de changement dans la fonctionnalité - le système d'exploitation a simplement reconstruit le fichier selon les besoins, ce qui ne semble pas prendre beaucoup de temps. Chaque utilisateur a sa propre liste pour cela, et c'est intentionnel - si un utilisateur utilise un scanner et un autre pas, je m'attendrais à ce que leurs listes reflètent cette différence. Je doute donc que les plists des différents utilisateurs aient un effet d'interaction.

3voto

Mr.Boy Points 31

Je suis confronté à ce problème depuis un certain temps et j'ai vérifié partout ! C'est frustrant... J'ai enfin trouvé un lien qui m'a permis d'arrêter cette folie stupide. Je ne suis pas sûr que ce soit la source du problème mais cela pourrait l'arrêter. Voici les étapes :

1) désactiver SIP ( lien )

2) tapez les commandes suivantes :

cd /Applications

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

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

sudo mv icdd icdd-disable

3) redémarrer

4) activez SIP si vous y tenez

Lien original : https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx

J'espère que cela vous aidera.

0voto

Gary Points 1

Je me suis également débattu avec ce problème. Ne trouvant pas de réponses en ligne et ne voulant pas m'embêter avec le terminal, j'ai appelé le support Apple. Au départ, ils pensaient que mon disque dur était corrompu (il l'était - cela a été réparé mais n'a pas réglé le problème). Le problème a persisté après avoir augmenté ma RAM. Poussé par un commentaire sur Internet concernant les recherches d'analyseurs de réseau, j'ai remarqué que l'ICDD ne devenait fou que lorsque le Wi-Fi était activé. Si je me déconnectais du wi-Fi et quittais ICDD, il ne redémarrait pas et augmentait l'utilisation de la RAM ou du CPU (jusqu'à ce que le Wi-Fi soit réactivé).

J'ai rappelé l'assistance Apple qui semble avoir résolu le problème en réinitialisant le SMC et la NVRAM. Maintenant, ICDD fonctionne à un faible niveau (10-20 MB) plutôt que de consommer 10+ GB de RAM. J'ai ajouté des liens ci-dessous pour faire cela, mais je recommande d'appeler le support Apple pour votre problème spécifique.

Ils expliquent ce phénomène par le fait que ma mémoire vive est encombrée ou remplie de caches Internet, etc. Je ne peux pas dire pourquoi ce problème n'est apparu que maintenant et s'il est lié à Sierra.

J'espère que cela aidera certaines personnes !

Réinitialiser le SMC : https://support.apple.com/en-us/ht201295

Réinitialisation de la NVRAM : https://support.apple.com/en-us/ht204063

10-15 minutes de réparation.

Mes spécifications :

  • MacBook Pro 13" début 2011
  • 500 GB Samsung SSD (mis à jour il y a ~1,5 an)
  • 8 GB RAM (mis à jour il y a ~1 mois)
  • MacOS Sierra 10.12.3 (jusqu'à
  • Parallels 10 avec Windows 10 pour les logiciels SAS

0voto

Motti Shneor Points 504

Bien que les réponses ci-dessus fournissent de meilleures données techniques, j'aimerais ajouter une remarque générale.

Il s'agit probablement d'un logiciel de mauvaise qualité, qui comporte des bogues depuis des années, qui n'a pas été testé correctement et qui ne sera probablement jamais réparé. C'est tout. Au cours de la dernière décennie, l'ingénierie logicielle d'Apple s'est détériorée de manière constante, et nous devons sans cesse faire face à de tels scénarios.

En général, la réinitialisation de ces logiciels à leur état d'origine (par exemple, en supprimant les caches et les fichiers de configuration, les fichiers .plists ou même en réinitialisant leurs paramètres par défaut) permet de résoudre le problème pendant un certain temps.

Une autre solution consiste à réinitialiser le sous-système lié au système d'exploitation. Dans ce cas, par exemple, a right click in the printers system preferences panel vous permettra de "réinitialiser le système d'impression", ce qui permettra probablement de vider la tête d'icdd pendant un certain temps - mais vous obligera à configurer à nouveau votre environnement d'impression.

Et bien sûr, l'ouverture de nouvelles entrées RADR à Apple peut éventuellement attirer leur attention sur le sous-système défectueux.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X