17 votos

El proceso icdd consume mucha memoria en MacOS

En la última semana el proceso 'icdd' se ha iniciado de vez en cuando y cuando lo hace consume una cantidad masiva de RAM (más de 7 GB). Cuando esto sucede, mi MacBook Pro se vuelve esencialmente no funcional hasta que puedo abrir el Monitor de Actividad y forzar la eliminación del proceso.

He adjuntado una captura de pantalla del monitor de actividad que muestra que icdd está usando más de 7GB de RAM y haciendo que la presión de la memoria se dispare.

enter image description here

¿Alguien sabe en qué consiste este proceso o cómo puedo evitar que se produzca este problema cada 30 minutos aproximadamente?

9voto

datatoolbox Puntos 91

Llevo más de un año trabajando con un asesor técnico de alto nivel de Apple en este asunto, y antes estuve trabajando con otro asesor de alto nivel. Hemos hecho "captura de datos" para enviar a los ingenieros de Apple en varias ocasiones y hecho grabaciones de pantalla en varias ocasiones para demostrar lo que está pasando en el Monitor de Actividad, Captura de Imagen, y, en última instancia, en un plist que icdd mantiene en /Users/nombre_de_usuario/Librería/Application Support/icdd/deviceInfoCache.plist (mostrándolo en Xcode).

En este momento, esta es mi mejor estimación de lo que está sucediendo:

El proceso icdd (Image Capture Device Database) ve cómo los escáneres van y vienen 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 parece una locura - está manteniendo 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 mirado, ha habido muchos miles de entradas en el archivo, sin embargo, sólo algunos de los archivos .icns existían en una de las máquinas, y ninguno existía en las otras. Creo que cuando este archivo se hace grande, icdd está gastando mucho tiempo tratando de comprobar la existencia de entradas en el archivo .plist y modificar el archivo. Creo esto por dos razones. En primer lugar, cuando me llevo el portátil a casa, el proceso de icdd a veces sigue funcionando al 100% de la CPU, pero cuando lo mato, vuelve a la "normalidad" de aproximadamente 0,0 a 0,1%, cada vez. Por lo tanto, creo que a veces sigue tratando de procesar información sobre las entradas cuando lo abro en casa. Pero cuando lo mato mientras estoy en la red ocupada, a menudo vuelve a estar cerca del 100% de inmediato. Cuando el número de escáneres que se muestra en la Captura de Imagen baja (lo que hace a menudo, pero periódicamente se dispara por alguna razón), icdd finalmente se estabiliza. Y en segundo lugar, borrar el archivo deviceInfoCache.plist hace que icdd se comporte razonablemente durante un tiempo - hasta que el número de entradas se acumule de nuevo. 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 inmediatamente. Y, por supuesto, no puede matar a icdd el tiempo suficiente para borrar el archivo, así que tiene que cerrar la sesión y borrar el archivo desde otra cuenta de administrador a través del terminal. icdd volverá a crear el archivo cuando vuelva a iniciar la 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 nada menos que 85 escáneres mostrados en Captura de Imagen. Sin embargo, a menudo este número se reduce a unos 6 en el mismo sistema y durante los mismos periodos de tiempo. El archivo deviceInfoCache.plist ha tenido entre 8.000 y 12.600 entradas en los sistemas que he mirado que han tenido problemas de icdd - el mío es el más grande, y creo que esto se llevó a cabo desde una máquina más antigua ya que estaba teniendo problemas de icdd desde el momento en que configuré mi nuevo MacBook Pro en 2016-diciembre. Cuando eliminé el archivo plist, el número de entradas iniciales en el archivo recién creado fue de 44, y durante unos días el uso de la cpu de icdd rondó cerca del 0,0%. Sin embargo, después de unos 5 días en el campus, mi archivo plist tiene 964 entradas, y el uso de la cpu de icdd rebota rutinariamente entre el 30% y el 90% en la ocupada red de la universidad. Cuando estoy en casa, el archivo plist sólo aumenta su número de entradas de 0 a 2 en el transcurso de un día. De las 12.600 entradas de mi archivo plist anterior, sólo 2 de ellas contienen un "deviceName", el resto contienen un "iconPathLocation", todos los cuales apuntan a archivos .icns inexistentes. Con el plist actual, todavía hay exactamente 2 entradas que contienen un "deviceName", y el resto contienen un "iconPathLocation" que no existe.

Por lo tanto, la solución a corto plazo es eliminar el archivo plist desde otra cuenta de administrador a través de la terminal mientras se cierra la sesión de su cuenta de usuario. Esperemos que, con esta información proporcionada a los ingenieros de Apple por mi asesor principal, los ingenieros de Apple tengan suficiente información para averiguar por qué icdd está actuando de esta manera y solucionar el problema. Por supuesto, probablemente ayudaría si usted puede verificar mi solución a corto plazo y seguir informando de lo que encuentre a Apple.

3voto

Chris Brannen Puntos 1

Llevo un tiempo con este problema y lo he comprobado en todas partes. Es frustrante... Finalmente encontré un enlace que podría detener esta estúpida locura. No estoy seguro de que este sea el origen del problema, pero podría detenerlo. Aquí están los pasos:

1) desactivar el SIP ( enlace )

2) escribe los siguientes comandos:

cd /Aplicaciones

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

cd /Sistema/Biblioteca/Image\ Capture/Support/

sudo mv icdd icdd-disable

3) reinicio

4) activar el SIP si le interesa

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

Espero que sea de ayuda.

0voto

Gary Puntos 1

Yo también he estado luchando con este problema. Al no encontrar respuestas en Internet y no querer complicarme con el terminal, llamé al soporte técnico de Apple. Inicialmente, pensaron que mi disco duro estaba dañado (lo estaba - se arregló pero no solucionó el problema). El problema persistía después de aumentar mi memoria RAM. A root de un comentario en Internet sobre la búsqueda de escáneres de red, me di cuenta de que ICDD sólo se volvía loco cuando el Wi-Fi estaba activado. Si me desconectaba del wi-Fi y salía de ICDD, no se reiniciaba y subía el uso de la RAM o de la CPU (hasta que se volvía a habilitar el Wi-Fi).

Volví a llamar al soporte de Apple que parece haber solucionado el problema reseteando el SMC y la NVRAM. Ahora ICDD funciona a un nivel bajo (10-20 MB) en lugar de consumir más de 10 GB de RAM. He añadido enlaces abajo para hacer eso, pero recomendaría llamar al Soporte de Apple para tu problema específico.

Su explicación de por qué ocurre esto tenía que ver con que mi memoria RAM está obstruida o llena de cachés de internet, etc. No puedo decir por qué se acaba de manifestar y si está asociado a Sierra.

¡Espero que esto ayude a algunas personas!

Reinicia el SMC: https://support.apple.com/en-us/ht201295

Reinicia la NVRAM: https://support.apple.com/en-us/ht204063

10-15 minutos para arreglar.

Mis especificaciones:

  • MacBook Pro de 13" de principios de 2011
  • SSD Samsung de 500 GB (actualizado hace 1,5 años)
  • 8 GB de RAM (actualizada hace 1 mes)
  • MacOS Sierra 10.12.3 (hasta
  • Parallels 10 con Windows 10 para el software SAS

0voto

Motti Shneor Puntos 130

Aunque las respuestas anteriores proporcionan mejores datos técnicos, me gustaría añadir una nota general.

Lo que tenemos entre manos es probablemente una pieza de software pésima, que arrastra viejos errores desde hace años, que no fue probada adecuadamente, y que probablemente nunca será arreglada. 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 estos escenarios todo el tiempo.

Por lo general, el restablecimiento de estas piezas de software a su estado original (por ejemplo, mediante la eliminación de las cachés y los archivos de configuración, .plists o incluso el restablecimiento de sus valores predeterminados de usuario) aliviaría el problema durante algún tiempo.

Otra forma es reiniciar el subsistema relacionado con el sistema operativo. En este caso por ejemplo, a right click in the printers system preferences panel le permitirá "reiniciar el sistema de impresión", lo que probablemente despejará la cabeza de icdd durante un tiempo - pero le obligará a configurar su entorno de impresión de nuevo.

Y, por supuesto, la apertura de nuevas entradas de RADR a Apple puede acabar llamando su atención sobre el subsistema defectuoso.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X