- PerfMon consente misurazioni in tempo reale e registrazioni a lungo termine con contatori precisi e configurabili.
- Collector Sets e Logman facilitano le acquisizioni ripetibili e l'automazione sui server.
- Le soglie per memoria, CPU, disco e rete aiutano a rilevare colli di bottiglia e perdite.
- Reliability Monitor completa l'analisi mostrando guasti e problemi di compatibilità.

PerfLun (performance Monitor) E ' Lo strumento definitivo per il monitoraggio in WindowsPerfMon: consente di visualizzare in tempo reale e a lungo termine e di analizzare le metriche delle prestazioni di CPU, memoria, disco, rete e processi specifici. A differenza di Task Manager, PerfMon acquisisce campioni a intervalli regolari e li registra su disco, rendendolo ideale per individuare problemi che emergono solo dopo ore di esecuzione, come overflow di memoria o perdite di risorse in servizi e applicazioni.
In questo articolo ve lo mostriamo come usare PerfMon. Dalla scelta e comprensione dei contatori giusti e dalla regolazione del campionamento e della scala dei grafici alla creazione di set di raccolta dati per registrare le metriche in un file (BLG/CSV).
Che cos'è PerfMon e quando utilizzarlo?
Performance Monitor (PerfMon) è il visualizzatore e registratore di contatori nativo di Windows.Presenta metriche sotto forma di grafici e dati grezzi ottenuti da contatori di sistema e applicazioni (ad esempio, da .NET CLR o da un processo specifico). Il suo più grande vantaggio rispetto alle utility “veloci” come Task manager è che puoi lasciarlo in esecuzione per ore o giorni, con campioni periodici, per rilevare tendenze reali (picchi, linee di base, crescita sostenuta).
PerfLun è fondamentale per diagnosticare la crescita della memoria, gestire o thread perditee isolare i componenti problematici eseguendo test specifici. Ad esempio, se si sospetta una perdita di memoria, è possibile abilitare contatori come Byte privati, Numero di handle e Numero di thread per il processo interessato, insieme ai contatori di memoria .NET CLR come Numero di byte in tutti gli heap e Dimensione heap Gen 2 per le applicazioni .NET, per verificare se la crescita si verifica durante o al di fuori del GC.

Modi per aprire PerfMon e modalità specializzate
Puoi aprire PerfMon dal menu Start, cerca "performance" o "perfmon" ed esegui come amministratore quando si creano registri o si interrogano computer remoti.
Se preferisci il Riga di comando (Win+R o CMD), hai a disposizione modalità dirette molto utili con la seguente sintassi:
perfmon </res|report|rel|sys>
Cosa fa ciascuna opzione?
- / ris per aprire la vista delle risorse
- /rapporto per avviare la suite di raccolta diagnostica del sistema e visualizzare un report.
- / rel per aprire Monitoraggio affidabilità.
- / sys per passare direttamente al classico monitor delle prestazioni.
Consiglio: se vuoi verificare l'affidabilità dell'attrezzatura, perfmon / rel È una scorciatoia diretta per la stabilità e la cronologia dei bug.
Monitoraggio affidabilità Si trova anche in Pannello di controllo > Sistema e sicurezza > Sicurezza e manutenzione. Un'altra scorciatoia: digita "reliab" nel menu Start e seleziona "Visualizza cronologia affidabilità". Vedrai eventi critici, avvisi e informazioni per giorno o settimana, con accesso a detales técnicos di guasti delle applicazioni e dei driver.
Visualizzazione in tempo reale: aggiunta e comprensione dei contatori
Per vedere un grafico in tempo reale, apri "Performance Monitor" nell'albero a sinistra. Se sono presenti contatori precaricati e vuoi iniziare la pulizia, selezionali nella tabella sottostante e premi Del. Quindi, nell'area del grafico, fare clic con il pulsante destro del mouse > Aggiungi contatori… per aprire la finestra di dialogo con tutte le categorie disponibili.
selezionare la categoria di interesse, il contatore e l'istanza dell'oggetto (ad esempio, il tuo processo). Per diagnosticare la memoria e le risorse in un'app specifica, aggiungi questi contatori chiave dal gruppo Processo y Memoria CLR .NET ove opportuno:
- Processo \ Byte privati: Memoria privata allocata dal processo (non condivisa con altri). Una crescita sostenuta indica il consumo effettivo della propria memoria virtuale.
- Processo \ Conteggio handle: numero di handle aperti. Aumenti costanti spesso indicano perdite di risorse (sessioni, oggetti di sistema).
- Processo \ Numero di thread: Numero di thread attivi nel processo. Picchi imprevisti potrebbero indicare problemi di concorrenza o thread non completati.
- Memoria CLR .NET \ # Byte in tutti gli heap: Memoria totale per oggetti .NET. Se aumenta senza stabilizzarsi, verificare la pressione del GC e i riferimenti non rilasciati.
- Memoria CLR .NET \ dimensione heap Gen 2: Dimensione heap Gen 2 (elementi a lunga durata). Una crescita continua suggerisce la presenza di elementi a lunga durata non raccolti.
Interpretare il grafico con occhio criticoSe si nota che il numero di byte privati aumenta costantemente mentre il numero di byte in tutti gli heap e la dimensione dell'heap Gen 2 rimangono stabili, la crescita non è nell'heap .NET, ma nella memoria/riserve native del processo. Questo schema indica solitamente una perdita esterna al GC (ad esempio, buffer o handle non congelati).

Regola il grafico: scala, intervallo e durata
PerfMon consente regola la visibilità di ogni contatore e il periodo di cronologia che vedi. stampa Ctrl+Maiusc+A Per selezionare tutti i contatori nell'elenco sottostante, fare clic con il pulsante destro del mouse e scegliere Scala i contatori selezionati, così saranno tutti visibili senza che uno “appiattisca” il resto.
apre Proprietà del grafico Fai clic con il pulsante destro del mouse > Proprietà... e imposta la frequenza di campionamento nella scheda Generale. Ad esempio, esegui il campionamento ogni 10 secondi e imposta la Durata su 10000 per coprire circa 2,5 ore nella vista. Più lungo è il fenomeno, più distanziata dovrebbe essere la frequenza di campionamento per evitare file di grandi dimensioni e sovraccaricare il computer.
mancia bonus: PerfMon espone proprietà e metodi ActiveX, consentendo di integrarli o controllarli da altri strumenti di sviluppo e persino di incorporarli come controllo nella propria applicazione, se necessario.
Automatizza con Logman: crea, avvia e arresta
Logman.exe è l'utilità della riga di comando per creare e gestire set di contatori.Aprire un prompt dei comandi con privilegi di amministratore ed eseguire un comando simile al seguente per creare una suite di monitoraggio continuo di grandi dimensioni con un file circolare:
Logman.exe create counter Avamar -o "c:\\perflogs\\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\\LogicalDisk(*)\\*" "\\Memory\\*" "\\Network Interface(*)\\*" "\\Paging File(*)\\*" "\\PhysicalDisk(*)\\*" "\\Processor(*)\\*" "\\Process(*)\\*" "\\Redirector\\*" "\\Server\\*" "\\System\\*" -si 00:00:05
a avviare e interrompere l'acquisizione, utilizza:
Logman.exe start Avamar
Logman.exe stop Avamar
Suggerimenti per i comandi: -f bincirc crea un registro binario circolare (-max limita la dimensione in MB), -si definisce l'intervallo di campionamento e -c aggiunge contatori in blocco per gli oggetti e le loro istanze. Utilizzare percorsi tra virgolette e usare le barre rovesciate di escape durante la creazione di script o l'esportazione della configurazione.
Quando utilizzare Logman? È l'ideale per raccogliere dati a lunga distanza Sui server, automatizza la diagnostica o standardizza le acquisizioni su più macchine. Puoi pianificare l'operazione con Task Scheduler e ruotare i file senza intervento.

Contatori e soglie utili per sottosistema
Memoria: Monitora la capacità effettiva, la pressione di paging e l'esaurimento del pool di sistema. Questi contatori e linee guida aiutano a distinguere i sintomi dalle cause:
- Memoria \ % Byte impegnati in uso: Percentuale di memoria impegnata oltre il limite di impegno. Se supera costantemente l'80%, verificare le dimensioni del file di paging e l'utilizzo effettivo.
- Memoria \ MByte disponibili: Liberare memoria fisica. Verificare se < 5% della RAM scende ripetutamente (e < 1% è critico).
- Memoria \ Byte impegnati: Numero totale di byte impegnati. Non dovrebbe variare bruscamente; modifiche frequenti possono causare espansioni del file di paging.
- Memoria \ Byte non di paging del pool: pool non paginato (oggetti che non possono essere scaricati su disco). Saturazioni persistenti (> 80%) Sono associati ad eventi come il 2019 (esaurimento del pool non impaginato).
- Memoria \ Byte di paging del pool: : pool di paging. Valori sostenuti > 70% del massimo indicano un rischio di un evento del 2020 (esaurimento del pool di paging).
Processore: Cercare carichi sostenuti e segnali I/O pesanti o driver rumorosi.
- Informazioni sul processore \ % Tempo di elaborazione (tutti i casi): >90% sostenuto su 1 CPU o >80% su multiprocessore suggerisce un sovraccarico della CPU.
- Processore \ % Tempo privilegiato: Tempo in modalità kernel. Superare costantemente il 30% sui server app/web potrebbe indicare un carico di lavoro eccessivo sul driver o sul sistema.
- Processore \ % Tempo di interruzione y % Tempo DPC: > Il 25% indica un'intensa attività del dispositivo (scheda di rete, disco, ecc.).
- Sistema \ Cambiamenti di contesto/sec y Processore \ Interruzioni/sec: utile per visualizzare la pressione di cambio contesto e l'attività di interruzione.
Rosso: indica la salute della NIC e la qualità della comunicazione.
- Interfaccia di rete\Pacchetti ricevuti scartati: dovrebbe rimanere vicino allo zero; valori crescenti indicano solitamente buffer/hardware insufficienti.
- Errori di interfaccia di rete\pacchetti ricevuti: : errori > 2 sostenuti richiedono la revisione di collegamenti/cavi/driver.
Party: misura la saturazione, la latenza e la capacità.
- Disco fisico \ % Tempo di inattività: percentuale di tempo di inattività. Un valore basso e costante indica un disco occupato; riflette bene la capacità rimanente.
- Disco fisico \ Media secondi/lettura disco y Media secondi/scrittura disco: Latenza media. Riferimenti tipici (linee guida): letture eccellenti < 8 ms, accettabili < 12 ms, discrete < 20 ms, scarse > 20 ms; scritture eccellenti < 1 ms, buone < 2 ms, discrete < 4 ms, scarse > 4 ms.
- Disco fisico \ Lunghezza media della coda del disco: code medie. Valori inferiori a 2× sono solitamente ragionevoli.
- Disco fisico \ Dividi IO/sec: Gli I/O si dividono a causa della frammentazione o di dimensioni di blocco inadeguate. Più sono bassi, meglio è.
- Disco logico \ % Spazio libero: Lasciare sempre > 15% libero (consigliato ≥ 25%) sui volumi logici del sistema.
Oggetti disco: fisici vs. logici.
- Disco fisico aggiunge l'accesso a tutte le partizioni di un dispositivo fisico (identifica l'hardware).
- Disco logico Misura una partizione o un punto di montaggio specifico. Con i dischi dinamici, un volume logico può estendersi su più dischi fisici e i relativi contatori rifletteranno il totale.
Processo: per correlare le risorse con il comportamento di un'app specifica, monitorare Processo \ % Tempo processore, Byte privati, Byte virtuali y Set di lavoro. Conteggio delle maniglie È fondamentale se si sospettano perdite nella piscina; crescita di spesso si sposano con aumenti anomali di Pool non paging/paging.
Monitoraggio dell'affidabilità: indaga su guasti e compatibilità
Monitoraggio affidabilità di Windows riepiloga la stabilità e gli eventi per giorno o settimana, classificando critico, avvertimento e informazioneDa ogni colonna è possibile aprire "Visualizza dettagli tecnici" per ispezionare i moduli, il codice e le firme digitali dei file binari coinvolti.
- Esempio praticoTroverai voci come svchost.exe_MapsBroker o altre applicazioni che causano crash. A volte il modulo segnalato (ad esempio, Kernelbase.dll) appartiene al kernel di Windows ed è firmato da Microsoft, il che suggerisce che la causa principale non è il kernel, ma piuttosto l'applicazione o un plugin in esecuzione nel tuo spazio utente.
- Cosa fare quando una vecchia app non funzionaEsegui lo strumento di risoluzione dei problemi di compatibilità e prova a forzare la modalità di compatibilità (ad esempio, Windows 7) e a disabilitare il ridimensionamento DPI elevato se riscontri problemi di interfaccia o prestazioni. Questa impostazione ha dimostrato di risolvere gli arresti anomali nei software legacy.
- Risultati di stabilità dei collegamenti con PerfMonCombina la cronologia degli arresti anomali con i registri dei contatori per verificare se i byte privati, il conteggio degli handle o la latenza del disco erano elevati prima dell'arresto anomalo. Questa correlazione fornisce un thread da cui partire.
- Chiusura pratica: Con PerfMon e Reliability Monitor puoi effettuare una diagnosi partendo dai sintomi (crash, lentezza) fino alla causa (perdita di memoria, collo di bottiglia del disco, CPU al 100%, errori di rete), il tutto supportato da contatori e soglie che ti guidano in modo chiaro.
Se hai bisogno una guida rapida per iniziare: aprire PerfMon, aggiungere contatori per il processo di destinazione (byte privati, % tempo processore, ecc.), regolare il campionamento e la durata per coprire la finestra in cui si verifica il problema, registrare su file con un Collector Set e, se applicabile, automatizzare con Logman su server o ambienti di test che devono essere eseguiti per ore.
Editor specializzato in questioni tecnologiche e Internet con più di dieci anni di esperienza in diversi media digitali. Ho lavorato come redattore e creatore di contenuti per aziende di e-commerce, comunicazione, marketing online e pubblicità. Ho scritto anche su siti web di economia, finanza e altri settori. Il mio lavoro è anche la mia passione. Ora, attraverso i miei articoli in Tecnobits, cerco di esplorare tutte le novità e le nuove opportunità che il mondo della tecnologia ci offre ogni giorno per migliorare la nostra vita.