processo icdd che consuma notevole memoria su macOS

10

Nell'ultima settimana circa il processo 'icdd' è stato avviato di tanto in tanto e quando lo fa consuma un'enorme quantità di RAM (fino a 7 GB). Quando ciò accade, il mio MacBook Pro diventa essenzialmente non funzionale fino a quando non riesco ad aprire l'Activity Monitor e forzare il processo.

Ho allegato uno screenshot del monitor dell'attività che mostra icdd utilizzando oltre 7 GB di RAM e fa schizzare la pressione della memoria.

Qualcuno sa che cos'è questo processo o come posso evitare che questo problema si verifichi ogni 30 minuti circa?

    
posta Zach 22.10.2016 - 23:03
fonte

3 risposte

5

Ho lavorato con un consulente tecnico senior presso Apple su questo tema da oltre un anno e ho lavorato con un altro consulente senior per un po 'di tempo prima. Abbiamo fatto "acquisizione dati" per inviare ad Apple Engineers in diverse occasioni e fatto registrazioni su schermo in diverse occasioni per dimostrare cosa sta succedendo in Activity Monitor, Image Capture e, in definitiva, in un plist che icdd mantiene su / Users / user_name / Libreria / Supporto applicazione / icdd / deviceInfoCache.plist (visualizzandolo in Xcode).

A questo punto, ecco la mia migliore stima di ciò che sta accadendo:

Il processo icdd (Image Capture Device Database) vede gli scanner andare e venire su una rete occupata. Tenta di mantenere una lista dei loro file di icone in una tabella hash, che scrive anche nel file deviceInfoCache.plist menzionato sopra. Sì, sembra pazzesco, sta mantenendo i riferimenti ai file delle icone degli scanner. Ma anche più pazzo è che, per qualche ragione, quasi tutte le voci in questo file puntano a file .icns che non esistono. Di diversi sistemi che ho visto, ci sono state molte migliaia di voci nel file, ma solo alcuni dei file .icns esistevano su una delle macchine, e nessuna esisteva sulle altre. Credo che quando questo file diventa grande, icdd passi un sacco di tempo a cercare di verificare l'esistenza di voci nel file .plist e modificare il file. Ci credo per due motivi. Innanzitutto, quando porto a casa il portatile, il processo icdd a volte continua a funzionare a circa il 100% di una CPU, ma quando poi lo uccido, torna alla "normale" circa dallo 0,0 allo 0,1%, ogni volta. Quindi, penso che a volte stia ancora cercando di elaborare le informazioni sulle voci quando lo apro a casa. Ma quando lo uccido mentre si trova sulla rete occupata, spesso torna quasi al 100% subito. Quando il numero di scanner mostrati in Image Capture diminuisce (cosa che succede spesso, ma periodicamente aumenta per qualche motivo), icdd alla fine si sistemerà. E in secondo luogo, l'eliminazione del file deviceInfoCache.plist fa sì che icdd si comporti ragionevolmente per un breve periodo - fino a quando il numero di voci non si ricompone. Nota che icdd mantiene una copia di queste voci in memoria, quindi se elimini il file dall'account utente, icdd lo riscrive immediatamente. E, naturalmente, non è possibile uccidere icdd abbastanza a lungo da eliminare il file, quindi è necessario disconnettersi ed eliminare il file da un altro account amministratore tramite il terminale. icdd ricreerà il file quando riaccedi, ma avrà relativamente poche voci e si comporterà bene per un po '.

Per dare un'idea delle scale, gli ingegneri Apple sono rimasti scioccati nel vedere che ho avuto fino a 85 scanner visualizzati in Image Capture. Spesso, tuttavia, questo numero si assesterà a circa 6 sullo stesso sistema e durante gli stessi periodi di tempo. Il file deviceInfoCache.plist ha avuto tra 8.000 e 12.600 voci sui sistemi che ho visto che hanno avuto problemi di icdd - il mio è il più grande, e credo che questo sia stato trasferito da un vecchio computer da quando avevo problemi con icdd da quando ho installato il mio nuovo MacBook Pro nel 2016-Dic. Quando ho eliminato il file plist, il numero di voci iniziali nel file appena creato era 44 e per alcuni giorni l'utilizzo della CPU icdd si avvicinava allo 0,0%. Tuttavia, dopo circa 5 giorni nel campus, il mio file plist ha 964 entrate e l'utilizzo della CPU icdd rimbalzerà regolarmente tra il 30% e il 90% sulla rete affollata dell'università. Quando sono a casa, il file plist aumenterà il suo numero di voci da 0 a 2 nel corso della giornata. Delle 12.600 voci nel mio precedente file plist, solo 2 di esse contengono un "deviceName", il resto contiene una "iconPathLocation", che punta a file .icns inesistenti. Con l'attuale plist, ci sono ancora esattamente 2 voci che contengono un "deviceName", e il resto contiene una "iconPathLocation" che non esiste.

Quindi, la soluzione a breve termine è quella di eliminare il file plist da un altro account amministratore tramite terminale mentre si è disconnessi dal proprio account utente. Si spera che, con queste informazioni ora fornite agli ingegneri Apple dal mio Senior Advisor, gli ingegneri Apple disporranno di informazioni sufficienti per capire perché icdd agisce in questo modo e risolve il problema. Ovviamente, sarebbe probabilmente di aiuto se puoi verificare la mia soluzione a breve termine e continuare a riportare ciò che trovi ad Apple.

    
risposta data 25.04.2018 - 09:04
fonte
2

Ho avuto a che fare con questo problema da un po 'e ho controllato ovunque! È frustrante ... Finalmente ho trovato un collegamento che potevo fermare questa stupida follia. Non sono sicuro che questa sia la fonte del problema, ma potrebbe fermarlo. Ecco i passaggi:

1) disable SIP (link)

2) type the following commands:

cd /Applications

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

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

sudo mv icdd icdd-disable

     

3) riavvia

     

4) abilita SIP se ti interessa

Link originale: link

Speriamo che aiuti.

    
risposta data 26.01.2017 - 21:15
fonte
0

Ho anche avuto problemi con questo problema. Non trovando risposte online e non volendo fare casino con il terminale, ho chiamato il supporto Apple. Inizialmente, pensavano che il mio HD fosse corrotto (era - era stato risolto ma non risolveva il problema). Il problema persisteva dopo aver aumentato la mia RAM. Spinto da un commento su Internet relativo alle ricerche dello scanner di rete, ho notato che ICDD sarebbe diventato pazzo solo quando il Wi-Fi era abilitato. Se mi disconnetto da Wi-Fi e chiudo ICDD, non si riavvia e non sale in RAM o nell'utilizzo della CPU (fino a quando il Wi-Fi non viene riattivato).

Ho chiamato di nuovo Apple Support che sembra aver risolto il problema reimpostando SMC e NVRAM. Ora ICDD funziona a un livello basso (10-20 MB) anziché consumare 10+ GB di RAM. Ho aggiunto dei link qui sotto per farlo, ma ti consiglio di chiamare l'assistenza Apple per il tuo problema specifico.

La spiegazione del motivo per cui ciò sta accadendo ha a che fare con la mia RAM intasata o piena di cache Internet, ecc. Perché è appena apparso chiaro e se è associato a Sierra, non posso dire.

Spero che questo aiuti alcune persone!

Reimposta SMC: link

Reimposta NVRAM: link

Correzione 10-15 minuti.

Le mie specifiche:

  • inizio 2011 13 "MacBook Pro
  • SSD Samsung da 500 GB (aggiornato ~ 1,5 anni fa)
  • 8 GB di RAM (aggiornato ~ 1 mese fa)
  • macOS Sierra 10.12.3 (fino a
  • Parallels 10 con Windows 10 per il software SAS
risposta data 15.03.2017 - 18:15
fonte

Leggi altre domande sui tag