Perché il Mac è lento e come diagnosticarlo
Un Mac lento è un problema di latenza, e diversi colli di bottiglia possono dare la stessa sensazione: contesa della CPU, pressione sulla memoria, capacità di archiviazione, I/O del disco, limiti termici o un servizio di rete lento. L’obiettivo è capire quale risorsa è satura mentre il rallentamento si manifesta. Uno snapshot preso dopo che il problema è sparito non dimostra quasi nulla.
Ecco come funzionano i pezzi e i comandi per osservarli.
Il mito della RAM: la memoria libera non è l’obiettivo
L’istinto sbagliato più comune è guardare la «memoria libera» e allarmarsi quando è bassa. Su macOS, poca memoria libera è normale e salutare. La RAM inutilizzata è RAM sprecata, quindi il kernel la tiene volutamente piena: i file usati di recente restano in cache in memoria così la prossima lettura è istantanea, e quella cache viene rilasciata nel momento in cui un programma ha bisogno dello spazio.
macOS comprime anche la memoria. Da OS X Mavericks, quando la RAM si riempie, il sistema comprime le pagine inattive sul posto invece di scriverle subito su disco, così alcuni dati che altrimenti andrebbero nello swap più lento possono restare in RAM. Puoi osservare i contatori direttamente:
vm_stat
I numeri sono in pagine, la cui dimensione è indicata all'inizio. Conta la pressione della memoria e come cambia nel tempo, non solo Pages free. Swapins e Swapouts sono cumulativi dall’avvio: un numero grande da solo non prova un problema attuale. Esegui il comando due volte durante il rallentamento oppure usa Monitoraggio Attività per vedere se swap e pressione continuano a salire.
La panoramica migliore è la pressione della memoria nella scheda Memoria di Monitoraggio Attività. La guida alla memoria di Apple indica con il verde un uso efficiente, con il giallo una possibile pressione e con il rosso il bisogno di più memoria. Leggi il grafico insieme all’andamento dello swap e all’elenco delle app, non solo al valore di memoria libera.
Trova il vero collo di bottiglia
Apri Monitoraggio Attività e controlla le schede in ordine, oppure usa la riga di comando:
- CPU: ordina per utilizzo con
top -o cpunel Terminale o nella scheda CPU di Monitoraggio Attività. %CPU è riferito a un core: un valore sopra il 100% indica l'uso di più core, normale per una compilazione o un'esportazione, da verificare per un'app a riposo. - Memoria: il grafico della pressione, come sopra.
- Capacità del disco: esegui
df -h /. APFS usa lo spazio libero per swap e file temporanei, e un’unità quasi piena può bloccare gli aggiornamenti o lasciare un carico di lavoro senza spazio temporaneo. Non esiste una percentuale di sicurezza universale, quindi confronta la capacità disponibile con l’operazione che fallisce. Se è questo il problema, scopri cosa sta riempiendo il disco e libera spazio. - I/O del disco: nella scheda Disco di Monitoraggio Attività, ordina per byte scritti o letti e osserva il grafico durante il rallentamento.
iostat -w 1offre una vista in tempo reale da riga di comando. Una sincronizzazione, un backup, una compilazione o un'unità esterna difettosa possono causare ritardi anche con molto spazio libero. - Calore: trattato più sotto.
- Latenza di rete o di servizio: se solo un’app basata sul cloud è lenta mentre le app locali restano reattive, controlla la sua attività di rete e lo stato del servizio prima di modificare il Mac. Non ogni interazione lenta è un collo di bottiglia hardware.
Queste letture distinguono un collo di bottiglia di sistema da un’unica app lenta. Indovinare con una pulizia generica può cambiare più variabili e nascondere la causa reale.
Un processo fuori controllo
Se la CPU è al massimo, top -o cpu mostra in cima il processo più impegnato. Un'app bloccata, un client che ripete la scansione o un helper in un ciclo continuo sono cause tipiche. Se riconosci il processo e puoi interromperne il lavoro, chiudilo. Se torna subito, potrebbe essere riavviato da launchd o dall'app associata: cerca cosa lo avvia invece di chiuderlo ripetutamente.
Non forzare la chiusura dei processi di sistema. Un aumento di kernel_task può dipendere dalla protezione termica, ma il processo svolge anche altri lavori del kernel. Una percentuale elevata non basta a dimostrare un problema di calore.
Thermal throttling
Quando un Mac si surriscalda, il chip abbassa la frequenza di clock per raffreddarsi e il lavoro pesante sembra lento. Puoi confermarlo invece di indovinare:
pmset -g therm
Questo riporta lo stato registrato di avvisi termici e di prestazioni quando macOS lo espone. Per un campione dettagliato di potenza e pressione termica, usa:
sudo powermetrics --samplers thermal,cpu_power -n 1
Interpreta le tendenze sotto lo stesso carico di lavoro, non trattare una singola temperatura come un limite universale. Se il throttling è il collo di bottiglia, la soluzione è carico di lavoro, flusso d’aria o assistenza, non la pulizia della cache. Una ventola rumorosa può essere un indizio a supporto, ma anche i Mac senza ventola possono fare throttling, e perché la ventola del MacBook è rumorosa spiega cosa fare.
Spotlight e elementi di login
Due cause in background meritano di essere escluse. Dopo un aggiornamento di macOS, una migrazione o uno spostamento massiccio di file, Spotlight può ricostruire parti del proprio indice. mdutil -s / indica se l’indicizzazione è abilitata, non se una ricostruzione è attiva in quel momento. CPU e I/O del disco sostenuti da mds o mdworker, più l’UI di progresso di Spotlight, forniscono il contesto. La durata dipende dal volume di dati, dalla velocità dello storage, dai permessi e dal continuo rimescolamento dei file, quindi non c’è una promessa affidabile di «un’ora».
L’altro è il carico all’avvio. Impostazioni di Sistema > Generali > Elementi login ed estensioni separa le app aperte al login dal software autorizzato a funzionare in background. Questi elementi possono usare Service Management, launchd, estensioni o helper delle app. Disattiva un elemento noto alla volta e verifica che l'app associata continui a funzionare.
Dietro le quinte: come un monitor legge tutto questo senza aggravarlo
Puoi saltare questa parte, ma spiega perché il consiglio sulla memoria di sopra è corretto e perché un monitor live non diventa a sua volta uno dei processi lenti. La CLI open-source di Mole (cmd/status) e l’app nativa per Mac usano collector separati, ma entrambe separano le letture veloci dall’arricchimento lento.
La CLI compila il valore di memoria in cache che la sua libreria di metriche multipiattaforma non può fornire su macOS parsando le pagine basate su file da vm_stat e moltiplicando per la dimensione di pagina riportata. Legge lo stato di pressure del sistema da memory_pressure invece di derivarlo dai byte liberi. L’app nativa arriva allo stesso risultato senza passare dalla shell: legge i contatori VM con host_statistics64 e il livello di pressure tramite kern.memorystatus_vm_pressure_level.
Restare leggeri è l’altra metà. Un monitor che rimisurasse tutto a ogni tick diventerebbe esso stesso un problema di prestazioni, quindi il collector campiona a livelli:
Le misure meno costose da raccogliere (CPU, memoria e rete) si aggiornano circa una volta al secondo. I dettagli su processi, GPU e disco vengono raccolti meno spesso, mentre le sonde hardware riutilizzano più a lungo i risultati in cache. La cronologia conserva un numero limitato di campioni recenti per i piccoli grafici. Così il pannello nella barra dei menu può aggiornarsi in tempo reale senza diventare esso stesso il carico da diagnosticare.
Dove uno strumento aiuta
I comandi integrati permettono di raccogliere le informazioni necessarie alla diagnosi senza un'altra app. Un'app può però risparmiarti il lavoro di riunirle. La vista Stato di Mole mostra CPU, pressione della memoria, disco, temperatura e processi principali, anche nella barra dei menu. Un clic su un processo spiega cosa l'ha avviato, se tiene sveglio il Mac e cosa legge e scrive: dettagli di launchd e I/O che altrimenti raccoglieresti a mano. È una comodità, non un sostituto della comprensione dei dati.
Qualunque cosa usi, evita le pulizie «velocizza» a un clic che cambiano stato non correlato. Non puoi creare un guadagno di prestazioni durevole forzando fuori dalla RAM una cache di file utile. Riavviare può essere una diagnostica utile per un processo bloccato ed è richiesto da alcuni aggiornamenti, ma macOS gestisce già memoria e swap in continuo.
Una diagnosi ripetibile
Riproduci il rallentamento, osserva CPU, memory pressure, capacità del disco, I/O del disco, stato termico e attività di rete, poi cambia una sola variabile. Misura di nuovo sotto lo stesso carico di lavoro. Così «il Mac sembra lento» diventa una causa falsificabile e si evita di scambiare un riavvio o una pulizia temporanea per una correzione permanente.