proceso icdd que consume mucha memoria en macOS

9

En la última semana, más o menos, el proceso 'icdd' se ha iniciado 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 prácticamente no funciona hasta que puedo abrir el Monitor de actividad y terminar el proceso.

He adjuntado una captura de pantalla del monitor de actividad que muestra icdd usando más de 7GB 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 ocurra cada 30 minutos aproximadamente?

    
pregunta Zach 22.10.2016 - 23:03

3 respuestas

4

He estado trabajando con un asesor técnico superior en Apple sobre este tema durante más de un año y trabajé con otro asesor superior durante algún tiempo antes de eso. Hemos hecho "captura de datos" para enviar a los ingenieros de Apple en varias ocasiones y hemos realizado grabaciones de pantalla en varias ocasiones para demostrar lo que sucede en el Monitor de actividad, la Captura de imágenes y, en última instancia, en una lista que icdd mantiene en / Usuarios / nombre_usuario / 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) hace que los escáneres vayan y vengan 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, es mantener las 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 visto, ha habido muchos miles de entradas en el archivo, sin embargo, 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 crece, icdd pasa mucho tiempo intentando verificar la existencia de entradas en el archivo .plist y modificar el archivo. Creo esto por dos razones. Primero, cuando llevo mi computadora portátil a casa, el proceso de icdd a veces continúa ejecutándose en aproximadamente el 100% de una CPU, pero cuando lo mato, vuelve a la "normalidad" aproximadamente de 0.0 a 0.1%, cada vez. Por lo tanto, creo que a veces todavía se está intentando procesar información sobre las entradas cuando la abro en casa. Pero cuando lo mato mientras estoy en la red ocupada, a menudo vuelve casi al 100% de inmediato. Cuando el número de escáneres que se muestra en Image Capture disminuye (lo que ocurre a menudo, pero aumentará periódicamente por alguna razón), el icdd eventualmente se asentará. Y segundo, eliminar el archivo deviceInfoCache.plist hace que icdd se comporte razonablemente por un corto tiempo, hasta que el número de entradas se acumule 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 vuelve a escribir inmediatamente. Y, por supuesto, no puede eliminar icdd el tiempo suficiente para eliminar el archivo, por lo que tiene que cerrar sesión y eliminar el archivo de otra cuenta de administrador a través del 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 la captura de imagen. Sin embargo, a menudo, este número se establecerá en aproximadamente 6 en el mismo sistema y durante los mismos plazos. El archivo deviceInfoCache.plist ha tenido entre 8,000 y 12,600 entradas en los sistemas que he visto que han tenido problemas con el disco duro. El mío es el más grande, y creo que esto se transfirió desde una máquina más antigua desde que tuve problemas con el disco. desde el momento en que instalé mi nuevo MacBook Pro en 2016-dic. Cuando eliminé el archivo plist, el número de entradas iniciales en el archivo recién creado fue de 44, y durante algunos días el uso de la CPU icdd se mantuvo cerca del 0.0%. Sin embargo, después de aproximadamente 5 días en el campus, mi archivo plist tiene 964 entradas, y el uso de la CPU icdd generalmente rebotará entre el 30% y el 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 una "ubicación de icono", todas las cuales apuntan a archivos .icns inexistentes. Con la lista actual, todavía hay exactamente 2 entradas que contienen un "nombre de dispositivo", y el resto contiene una "ubicación de icono" que no existe.

Por lo tanto, la solución a corto plazo es eliminar el archivo plist de otra cuenta de administrador a través del terminal mientras se desconecta de su cuenta de usuario. Con suerte, ahora que esta información se proporciona a los ingenieros de Apple de 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.

    
respondido por el datatoolbox 25.04.2018 - 09:04
1

¡He estado lidiando con este problema por un tiempo y he estado revisando en todas partes! Es frustrante ... Finalmente encontré un enlace que podía detener esta loca estupidez. No estoy seguro de si esta es la fuente del problema pero podría detenerlo. Aquí están los pasos:

  

1) deshabilite SIP ( enlace )

     

2) escribe los siguientes comandos:

     
    

cd / Aplicaciones

         

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

         

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

         

sudo mv icdd icdd-disable

  
     

3) reiniciar

     

4) habilita SIP si te importa

Enlace original: enlace

Esperemos que ayude.

    
respondido por el Mr.Boy 26.01.2017 - 21:15
0

También he estado luchando con este problema. Al no encontrar respuestas en línea y no querer meterme con el terminal, llamé a Soporte de Apple. Inicialmente, pensaron que mi HD estaba dañada (se solucionó, pero no solucionó el problema). El problema persistió después de aumentar mi RAM. Al recibir un comentario en Internet sobre las búsquedas en el escáner de red, me di cuenta de que ICDD solo se volvería loco cuando el Wi-Fi estaba activado. Si me desconecto de wi-Fi y salgo de ICDD, no se reiniciará y aumentará el uso de la RAM o la CPU (hasta que Wi-Fi se vuelva a activar).

Volví a llamar al Soporte de Apple que parece haber solucionado el problema al restablecer SMC y NVRAM. Ahora ICDD se ejecuta en un nivel bajo (10-20 MB) en lugar de consumir más de 10 GB de RAM. He agregado los enlaces a continuación para hacer eso, pero recomiendo llamar al Soporte de Apple para su problema específico.

Su explicación de por qué sucedió esto tuvo que ver con que mi memoria RAM está obstruida o llena de cachés de Internet, etc. No puedo decir por qué acaba de aparecer y si está asociada con Sierra,

¡Espero que esto ayude a algunas personas!

Restablecer SMC: enlace

Restablecer NVRAM: enlace

10-15mins fix.

Mis especificaciones:

  • principios de 2011 13 "MacBook Pro
  • SSD Samsung de 500 GB (actualizado hace ~ 1.5 años)
  • 8 GB de RAM (actualizado hace ~ 1 mes)
  • macOS Sierra 10.12.3 (hasta
  • Parallels 10 con Windows 10 para software SAS
respondido por el Gary 15.03.2017 - 18:15

Lea otras preguntas en las etiquetas