Cos'è COM Surrogate e perché è sempre in esecuzione su Windows
COM Surrogate è un normale processo di Windows, dllhost.exe in C:\Windows\System32, che esegue un componente in un processo separato, così un guasto lì non può trascinare con sé il programma che lo ha richiesto. Di solito lo vedi perché Esplora file sta generando miniature. Più copie sono normali, e una che compare e scompare mentre sfogli le cartelle sta facendo il suo lavoro. Una copia che resta impegnata, o un file "aperto in COM Surrogate", di solito indica un gestore di miniature o un file danneggiato.
Perché esiste
I programmi di Windows spesso caricano codice aggiuntivo come componente COM in una DLL. Se quella DLL va in crash dentro il programma, cade tutto il programma. Raymond Chen spiega sul blog Old New Thing di Microsoft che Esplora file usa COM Surrogate per estrarre le miniature, quindi il crash di un estrattore di miniature distrugge il processo surrogato invece di Esplora file. Questo spiega anche il vecchio messaggio "COM Surrogate ha smesso di funzionare": di solito vuol dire che un componente è andato in crash lì dentro, e Esplora file è sopravvissuto grazie al modo in cui è progettato.
Windows lo avvia chiedendo un componente specifico:
C:\Windows\System32\dllhost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}
Quell'ID è quello da cercare, e quello in particolare è la cache delle miniature di Windows. Altri programmi usano lo stesso processo per i propri componenti, ed è per questo che il solo nome dice poco su chi c'è dietro una copia impegnata.
Scopri quale componente è
- Premi
Ctrl + Shift + Esce apri la scheda Dettagli. - Fai clic con il pulsante destro sull'intestazione di una colonna, scegli Seleziona colonne e spunta Riga di comando.
- Trova
dllhost.exee leggi l'ID dopo/Processid:.
Oppure elenca tutte le copie da PowerShell:
Get-CimInstance Win32_Process | Where-Object Name -eq 'dllhost.exe' | Select-Object ProcessId, CommandLine
Poi cerca l'ID, sostituendolo con il tuo:
(Get-ItemProperty 'Registry::HKEY_CLASSES_ROOT\CLSID\{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}').'(default)'
Su Windows 11 questo restituisce Thumbnail Cache Class Factory for Out of Proc Server. Se il tuo nomina un prodotto di terze parti, la soluzione è l'aggiornamento o la rimozione di quel prodotto.
Cosa fare per ogni sintomo
| Cosa vedi | Causa probabile | Prova |
|---|---|---|
| CPU o disco alti mentre una cartella è aperta | Miniature generate per molti file grandi | Aspetta, oppure passa la vista di quella cartella a Dettagli |
| CPU alta ogni volta nella stessa cartella | Un file multimediale danneggiato, o un codec che fallisce su di esso | Sposta i file fuori a gruppi per trovarlo, poi aggiorna o rimuovi il pacchetto di codec |
| "Impossibile completare l'azione perché il file è aperto in COM Surrogate" | Un gestore di miniature tiene ancora quel file | Chiudi il riquadro di anteprima e la cartella, aspetta qualche secondo e riprova |
| Va in crash di continuo o "ha smesso di funzionare" | Un componente di terze parti guasto | Leggi l'ID come sopra, poi aggiorna o rimuovi quel software |
| Miniature sbagliate o vecchie | Una cache delle miniature danneggiata | Cancella Miniature in Pulizia disco, vedi Pulizia disco o Sensore memoria |
Per smettere del tutto di generare miniature, apri Esplora file › Vedi altro (…) › Opzioni › Visualizzazione e spunta Visualizza sempre le icone, mai le miniature. Questo toglie il carico al prezzo delle immagini nelle cartelle. È anche una buona prova: se il problema si ferma, la causa erano le miniature.
È un virus
Quello vero è un file firmato da Microsoft in C:\Windows\System32, con una copia a 32 bit in C:\Windows\SysWOW64. Un malware può prendere in prestito il nome, e può anche eseguire il proprio codice dentro un dllhost.exe autentico, quindi un percorso corretto è una buona prova ma non una garanzia. Controlla prima il file:
Get-AuthenticodeSignature C:\Windows\System32\dllhost.exe
Il firmatario dovrebbe risultare Microsoft Windows. Diffida di un dllhost.exe in esecuzione da qualsiasi altro posto, di una copia con molta attività di rete, o di un ID di componente che punta a un file in AppData o Temp. Se qualcuno di questi casi corrisponde, esegui un'analisi completa con Microsoft Defender.
Cosa non fare
- Non eliminare
dllhost.exee non bloccarlo. Windows e molti programmi dipendono da lui, e Controllo file di sistema considererà una copia mancante come un danno. - Non aspettarti che terminarlo risolva. È sicuro terminare una copia bloccata, perché una miniatura o una finestra possono fallire e Windows ne avvia una nuova quando serve, ma la causa è ancora lì.
- Non aggiungerlo alle eccezioni della Prevenzione esecuzione dati, come suggeriscono guide più vecchie. Abbassa una protezione senza trovare il componente guasto.
- Non installare un programma di pulizia del registro o un "riparatore di DLL" per questo. Nessuno dei due individua quale componente sta fallendo.
Dove entra Mole
La pagina Stato di Mole for Windows raccoglie COM Surrogate in una sola riga per sessione, con CPU e memoria sommate tra le sue copie. Perché è in esecuzione? nel menu della riga elenca le copie più pesanti con PID, CPU e memoria, e mostra l'Eseguibile, cosa l'ha avviato e, per una copia che gira senza privilegi elevati sotto il tuo account, il Comando con il suo /Processid, che ti risparmia le colonne di Gestione attività. Fai clic su una copia per vedere i suoi dettagli. Poiché COM Surrogate gira dalla cartella di Windows, Mole lo segna come di sistema e non offre Termina né Uscita forzata, quindi usa Gestione attività se devi terminare una copia bloccata. Mole non ripara i gestori di miniature, e la sua pagina Pulizia non ha una riga per la cache delle miniature, quindi usa Pulizia disco per quella. Per un contesto più ampio, vedi cosa fanno i comuni processi di Windows.
Domande frequenti
Che cos'è COM Surrogate?
È dllhost.exe, un processo di Windows che ospita un componente fuori dal programma che lo usa. Un crash lì resta lì. Esplora file lo usa per le miniature, e lo usano anche altri programmi.
Perché ci sono così tanti processi COM Surrogate?
Ogni copia ospita un componente, quindi averne diverse insieme è normale. Molte escono da sole dopo un po' di inattività.
Posso terminare COM Surrogate?
Sì, terminare una copia bloccata è sicuro, e Windows ne avvia una nuova quando serve. Se la stessa copia continua a tornare impegnata, trova il suo ID di componente invece di terminarla ripetutamente.
Perché dice che un file è aperto in COM Surrogate?
Un gestore di miniature sta leggendo quel file. Chiudi la cartella e qualsiasi riquadro di anteprima, aspetta qualche secondo e riprova. Se succede di continuo con lo stesso tipo di file, attiva Visualizza sempre le icone, mai le miniature per confermare la causa.
COM Surrogate è un virus?
Il file autentico no. Controlla che giri da C:\Windows\System32 o C:\Windows\SysWOW64 e che sia firmato da Microsoft Windows, poi guarda quale componente ospita.