Durante la semana pasada, el proceso 'icdd' se inició de vez en cuando y, cuando lo hace, consume una gran cantidad de RAM (más de 7 GB). Cuando esto sucede, mi MacBook Pro esencialmente deja de funcionar hasta que puedo abrir el Monitor de actividad y forzar la finalización del proceso.
Adjunté una captura de pantalla del monitor de actividad que muestra icdd usando más de 7 GB de RAM y haciendo que la presión de la memoria se dispare.
¿Alguien sabe qué es este proceso o cómo puedo evitar que este problema ocurra cada 30 minutos más o menos?
He estado trabajando con un asesor técnico sénior de Apple en este tema durante más de un año y trabajé con otro asesor sénior durante algún tiempo antes de eso. Realizamos "captura de datos" para enviar a los ingenieros de Apple en varias ocasiones y realizamos grabaciones de pantalla en varias ocasiones para demostrar lo que sucede en el Monitor de actividad, Captura de imagen y, en última instancia, en una lista que icdd mantiene en /Users/user_name /Library/Application Support/icdd/deviceInfoCache.plist (mostrándolo en Xcode).
En este punto, aquí está mi mejor estimación de lo que está sucediendo:
El proceso icdd (Base de datos de dispositivos de captura de imágenes) ve los escáneres ir y venir en una red ocupada. Intenta mantener una lista de sus archivos de iconos en una tabla hash, que también escribe en el archivo deviceInfoCache.plist mencionado anteriormente. Sí, esto suena loco, mantiene referencias a los archivos de iconos de los escáneres. Pero aún más loco es que, por alguna razón, casi todas las entradas en este archivo apuntan a archivos .icns que no existen. De varios sistemas que he examinado, ha habido muchos miles de entradas en el archivo, pero solo unos pocos de los archivos .icns existían en una de las máquinas y ninguno existía en las otras. Creo que cuando este archivo aumenta de tamaño, icdd dedica mucho tiempo a intentar verificar la existencia de entradas en el archivo .plist y modificar el archivo. Creo esto por dos razones. Primero, cuando me llevo mi laptop a casa, el proceso icdd a veces continúa ejecutándose aproximadamente al 100% de una CPU, pero cuando lo elimino, vuelve a la "normalidad" aproximadamente de 0.0 a 0.1%, cada vez. Por lo tanto, creo que a veces todavía está tratando de procesar información sobre las entradas cuando lo abro en casa. Pero cuando lo elimino mientras estoy en la red ocupada, a menudo vuelve casi al 100% de inmediato. Cuando la cantidad de escáneres que se muestran en Image Capture disminuye (lo que ocurre a menudo, pero aumenta periódicamente por alguna razón), icdd eventualmente se estabilizará. Y segundo, eliminar el archivo deviceInfoCache.plist hace que icdd se comporte razonablemente por un corto tiempo, hasta que la cantidad de entradas se acumula nuevamente. Tenga en cuenta que icdd mantiene una copia de estas entradas en la memoria, por lo que si elimina el archivo de la cuenta de usuario, icdd simplemente lo reescribe de inmediato. Y, por supuesto, puedes' t matar icdd el tiempo suficiente para eliminar el archivo, por lo que debe cerrar sesión y eliminar el archivo de otra cuenta de administrador a través de la terminal. icdd volverá a crear el archivo cuando vuelva a iniciar sesión, pero tendrá relativamente pocas entradas y se comportará bien durante un tiempo.
Para dar una idea de las escalas, los ingenieros de Apple se sorprendieron al ver que tenía hasta 85 escáneres en Image Capture. Sin embargo, a menudo, este número se establecerá en aproximadamente 6 en el mismo sistema y durante los mismos períodos de tiempo. El archivo deviceInfoCache.plist ha tenido entre 8000 y 12 600 entradas en los sistemas que he examinado que han tenido problemas de icdd; el mío es el más grande y creo que se transfirió de una máquina más antigua porque tenía problemas de icdd desde el momento en que configuré mi nuevo MacBook Pro en 2016-dic. Cuando eliminé el archivo plist, la cantidad de entradas iniciales en el archivo recién creado era 44 y, durante unos días, el uso de la CPU icdd estuvo cerca del 0,0 %. Sin embargo, después de unos 5 días en el campus, mi archivo plist tiene 964 enteros, y el uso de la CPU icdd rebotará rutinariamente entre un 30 % y un 90 % en la red ocupada de la universidad. Cuando estoy en casa, el archivo plist solo aumentará su número de entradas de 0 a 2 en el transcurso de un día. De las 12 600 entradas en mi archivo plist anterior, solo 2 de ellas contienen un "nombre de dispositivo", el resto contiene un "iconPathLocation", todo lo cual apunta a archivos .icns inexistentes. Con el plist actual, todavía hay exactamente 2 entradas que contienen un "nombre de dispositivo" y el resto contiene un "iconPathLocation" que no existe. todo lo cual apunta a archivos .icns inexistentes. Con el plist actual, todavía hay exactamente 2 entradas que contienen un "nombre de dispositivo" y el resto contiene un "iconPathLocation" que no existe. todo lo cual apunta a archivos .icns inexistentes. Con el plist actual, todavía hay exactamente 2 entradas que contienen un "nombre de dispositivo" y el resto contiene un "iconPathLocation" que no existe.
Entonces, la solución a corto plazo es eliminar el archivo plist de otra cuenta de administrador a través de la terminal mientras está desconectado de su cuenta de usuario. Con suerte, con esta información ahora proporcionada a los ingenieros de Apple por mi asesor principal, los ingenieros de Apple tendrán suficiente información para descubrir por qué icdd está actuando de esta manera y solucionar el problema. Por supuesto, probablemente ayudaría si puede verificar mi solución a corto plazo y continuar informando lo que encuentre a Apple.
¡He estado lidiando con este problema por un tiempo y he estado revisando por todas partes! Es frustrante... Finalmente encontré un enlace que podía detener esta estúpida locura. No estoy seguro de si esta es la fuente del problema, pero podría detenerlo. Aquí están los pasos:
1) deshabilitar SIP ( enlace )
2) escriba los siguientes comandos:
cd /Aplicaciones
sudo mv Image\ Capture.app/ Disable\ Image\ Capture.app/
cd /Sistema/Biblioteca/Imagen\ Captura/Soporte/
sudo mv icdd icdd-disable
3) reiniciar
4) habilite SIP si le importa
Enlace original: https://havecamerawilltravel.com/photographer/prevent-photos-app-mac-osx
Espero que ayude
He estado luchando con este problema también. Al no encontrar respuestas en línea y no querer meterme con la terminal, llamé al Soporte de Apple. Inicialmente, pensaron que mi disco duro estaba dañado (lo estaba, eso se arregló pero no solucionó el problema). El problema persistió después de aumentar mi RAM. Impulsado por un comentario en Internet sobre las búsquedas de escáneres de red, noté que ICDD solo se volvía loco cuando se habilitaba el Wi-Fi. Si me desconectaba de wi-Fi y salía de ICDD, no se reiniciaba ni aumentaba el uso de RAM o CPU (hasta que se volviera a habilitar Wi-Fi).
Llamé nuevamente al Soporte de Apple, que parece haber solucionado el problema al restablecer SMC y NVRAM. Ahora ICDD se ejecuta a un nivel bajo (10-20 MB) en lugar de consumir más de 10 GB de RAM. He agregado enlaces a continuación para hacer eso, pero recomendaría llamar al Soporte de Apple para su problema específico.
Su explicación de por qué sucede esto tiene que ver con mi RAM obstruida o llena de cachés de Internet, etc. Por qué acaba de hacerse evidente y si está asociado con Sierra, no puedo decirlo.
¡Espero que esto ayude a algunas personas!
Restablecer SMC: https://support.apple.com/en-us/ht201295
Restablecer NVRAM: https://support.apple.com/en-us/ht204063
Solución de 10-15 minutos.
Mis especificaciones:
Si bien las respuestas anteriores brindan mejores datos técnicos, me gustaría agregar una nota general.
Con lo que estamos lidiando es probablemente con una pieza de software pésima, que contiene errores antiguos durante años, que no se probó correctamente y que probablemente nunca se arregle. Eso es todo. En la última década, la ingeniería de software de Apple se está deteriorando de manera constante, y tenemos que soportar tales escenarios todo el tiempo.
Por lo general, restablecer dichas piezas de software a su estado original (por ejemplo, eliminando cachés y configurando archivos, .plists o incluso restableciendo sus valores predeterminados de usuario) aliviaría el problema durante algún tiempo.
Otra forma es restablecer el subsistema relacionado con el sistema operativo. En este caso, por ejemplo, le permitirá "restablecer el sistema de impresión", lo que probablemente aclarará la cabeza de icdd por un tiempo, pero lo obligará a configurar su entorno de impresión nuevamente.
Y, por supuesto, abrir nuevas entradas de RADR a Apple puede eventualmente llamar su atención sobre el subsistema defectuoso.
NoahL
klanomath
bmike
zach
klanomath
Phoebe
Phoebe
Phoebe