Cos'è realmente distnoted
distnoted è il demone di notifica distribuita che viene fornito con macOS. Il suo compito è di trasmettere messaggi tra i processi in esecuzione quando uno di essi trasmette un cambiamento che potrebbe interessare gli altri.
Il meccanismo alla base è il sistema di notifica distribuita, esposto agli sviluppatori come NSDistributedNotificationCenter. Pensalo come una bacheca piuttosto che una telefonata. Un'app o un componente di sistema pubblica un breve messaggio che dice, in sostanza, "questa cosa è cambiata," e qualsiasi processo che ha registrato interesse per quel tipo di messaggio riceve una copia. Nessuna delle due parti ha bisogno di sapere che l'altra esiste. distnoted è il broker al centro, che tiene traccia di chi ascolta e passa i messaggi.
Gli eventi annunciati sono quelli comuni: una preferenza è stata modificata, un dispositivo è stato collegato, una impostazione utente è stata attivata o disattivata. Le app si affidano a questo sistema per reagire ai cambiamenti fatti altrove sul sistema senza doverli controllare continuamente. È una componente di sistema poco appariscente, motivo per cui non ha interfaccia e non ha documentazione rivolta agli utenti finali. È un binario di Apple di prima parte, firmato da Apple, presente in ogni installazione moderna di macOS, e non qualcosa che hai installato tu.
Perché lo vedi, e la correzione di cui la maggior parte delle persone ha bisogno
La maggior parte delle persone nota distnoted allo stesso modo: qualcosa sembrava lento, è apparso Activity Monitor, e un nome non riconosciuto sembrava sospetto. Il nome fa la maggior parte del danno. "distnoted" sembra un'abbreviazione, e quello che le persone tendono a pensare è distributed nel senso di rete, come server remoti e macchine che comunicano tra loro.
Questa supposizione è sbagliata, e correggerla è la cosa più utile che questo articolo può fare. distnoted è una comunicazione tra processi sul tuo Mac, non traffico di rete. "Distributed" qui significa distribuito tra i processi in esecuzione sul tuo Mac, non attraverso una rete. Il daemon non si connette a internet, non scarica nulla, e non invia rapporti da nessuna parte. L'intero suo universo è l'insieme dei processi sul computer davanti a te.
Questo è importante perché molte persone che cercano il nome sono arrivate mentre controllavano l'attività di rete. Hanno visto una connessione che non riuscivano a spiegare, hanno controllato i processi in esecuzione, e hanno associato il traffico al nome sconosciuto. Se questo ti riguarda, l'attribuzione è quasi certamente sbagliata. distnoted è un sospetto poco credibile perché non ha questa capacità, e qualunque cosa abbia aperto quella connessione era qualcos'altro.
È malware, e perché ci sono diverse copie
distnoted non è malware. È un daemon di sistema di Apple che fa parte di macOS da molti anni. Il malware a volte prende i nomi di processi di sistema legittimi per mimetizzarsi, quindi l'istinto di controllare è ragionevole, e puoi farlo tu stesso senza installare nulla.
In Activity Monitor, fai doppio clic sull'elemento distnoted per aprire la finestra Info. Le schede mostrano il processo genitore, le statistiche di memoria e i file aperti. Un vero daemon di sistema mostra una catena di avvio plausibile, piuttosto che qualcosa di strano come un browser o un'app scaricata, e non sarà in esecuzione nelle cartelle Downloads o Desktop. Per un controllo più approfondito, il comando codesign nel Terminale riporta l'autorità di firma di un binario in esecuzione, e per il vero distnoted questa autorità risale ad Apple.
Un altro motivo di sospetto è vedere diversi processi distnoted contemporaneamente. Questo è normale. Il daemon funziona per sessione o per contesto, non come un'istanza unica a livello di sistema, quindi un Mac con un utente loggato e vari contesti di background mostrerà alcuni di essi. Tre, quattro o più sono normali. Di solito mostrano account diversi nella colonna Utente, inclusi gli account di sistema, che sono il segno che si tratta di contesti separati e non di duplicati. In condizioni normali, ciascuno consuma praticamente zero CPU. Una serie di processi distnoted inattivi è uno stato sano.
Quando distnoted utilizza molta CPU
A volte distnoted smette di essere invisibile e inizia a consumare CPU reale, a volte abbastanza da far partire i ventole. Quando succede, il punto chiave è che distnoted di solito è il sintomo piuttosto che la causa.
Ricorda cosa fa: trasmette i messaggi che altri processi inviano. Se sta lavorando intensamente, qualcosa sta inviando molti messaggi. Un'applicazione si è ritrovata in un ciclo in cui trasmette una notifica, reagisce, e trasmette di nuovo, oppure annuncia un cambiamento centinaia di volte al secondo quando basterebbe una sola. Il daemon sta facendo il suo lavoro a un volume che non era mai stato pensato per essere gestito. Ucciderlo non risolve nulla in modo duraturo, perché macOS lo riavvia e l'app rumorosa riprende immediatamente.
Trovare il colpevole è un processo di eliminazione. Ordina Activity Monitor per CPU e guarda cosa è elevato nello stesso momento. Spesso c'è un secondo processo vicino in cima, ed è quello il tuo candidato. Client di sincronizzazione, gestori degli appunti, utility della barra dei menu, pannelli delle preferenze di terze parti più vecchi e app che sono in funzione da settimane senza riavvio sono i soliti colpevoli ricorrenti. Chiudi i sospetti uno alla volta e osserva se distnoted si stabilizza.
Se niente di ovvio appare, riavvia il Mac, che elimina i loop accumulati in un lungo periodo di attività e risolve buona parte dei casi. Se il comportamento ritorna e riesci a collegarlo a una specifica app, verifica se c'è un aggiornamento disponibile. Quello che non vale la pena fare è tentare di disabilitare o bloccare distnoted stesso. Le notifiche tra processi sono necessarie per il funzionamento normale, macOS lo riporterà in vita, e tu staresti trattando il messaggero invece del mittente.
Processi locali versus processi che si connettono realmente all'esterno
L'ansia qui non riguarda davvero il daemon. È che Activity Monitor mostra una lunga lista di processi con nomi criptici e nessun modo di capire quali di essi tocchino effettivamente la rete. Tutto sembra ugualmente sospetto, quindi un nome sconosciuto diventa un punto interrogativo, e il punto interrogativo si trasforma in un pomeriggio di ricerche.
La distinzione che risolve tutto è semplice una volta che la vedi. La maggior parte di ciò che gira su un Mac è locale: daemon come distnoted che scambiano messaggi tra processi, indicizzano file, gestiscono finestre o gestiscono l'audio. Non aprono mai una socket. Un insieme molto più piccolo si connette realmente all'esterno, e quello è quello a cui vale la pena prestare attenzione. Separare i due trasforma una parete di nomi sconosciuti in una lista breve e revisionabile.
NetMute è stato creato proprio per questa separazione. Mostra l'attività di rete in tempo reale per app e processi, così puoi vedere quali processi effettivamente fanno connessioni in uscita e a quali domini si connettono, con log che puoi consultare anche in retrospettiva. I processi senza dimensione di rete, tra cui distnoted, semplicemente non appaiono come attività di rete, che è di per sé la risposta alla domanda che ti ha portato qui. Per quelli che si connettono, NetMute include un firewall per app con blocco con un clic e regole temporanee che scadono da sole.
Per essere chiari sullo scopo: nulla di tutto questo si applica a distnoted. Non è qualcosa che NetMute blocca o gestisce, perché non ha una componente di rete da gestire. Il valore sta nell'altra direzione. Una volta che puoi vedere i processi che parlano realmente con internet, puoi smettere di preoccuparti di quelli che non lo fanno. NetMute è gratuito da scaricare dal Mac App Store, e Premium è un acquisto in-app singolo senza abbonamento.