Windows XP command-line tools per il debugging dei processi

Windows XP (e .NET server), come i suoi predecessori, presenta una varietà interessante di command line tools utili per diagnosticare e visualizzare informazioni sui processi correnti senza ricorrere a finestre.
Alcuni sono disponibili su una installazione standard, altri vengono forniti dai Windows Support Tools installabili dal disco di Windows XP (x:\SUPPORT\TOOLS\SUPTOOLS.MSI).
Questi comandi si rivelanto piuttosto utili per l'amministrazione remota via telnet in command line (per quanto poco diffusa nel mondo Windows) o per script di amministrazione, monitoring e task schedulati.

TASKLIST.exe - Presente di default
Visualizza i processi correnti e numerose informazioni su risorse utilizzate, thread, librerie, servizi.
TASKLIST /?
Mostra le istruzioni e le opzioni disponibili da command line.
TASKLIST /M olepro32.dll
Visualizza tutti i processi che utilizzano il modulo specificato. Se si lasci l'opzione /M senza dettagli, visualizza l'elenco completo dei processi con tutte le dll utilizzate.
TASKLIST /SVC
Elenco dei processi e dei relativi servizi che da loro vengono gestiti. Tipicamente una o pi istanze di svchost.exe gestiscono tutti i servizi comuni di Windows.
TASKLIST /V /FO csv
Visualizza verbose informazioni (CPU time, memoria, user) sui processi. L'opzione /FO permette di specificare il formato dell'output (table,list o csv) e può essere utile per esportare i dati raccolti su semplici file di testo (es: TASKLIST /V /FO csv > processi.csv scrive sul file proscessi.csv l'elenco con campi separati da virgola, di tutti i processi in memoria con relativi parametri.
TASKLIST /S system /U username /P password /NH /FO table
Visualizza le informazioni di un sistema remoto, dal nome indicato e collegandosi con nome utente e password specificate. L'opzione /NH evita la visualizzazione degli header che descrivono il significato delle colonne (non necessari per operazioni di info gathering e monitoring).

PMON.exe - Installabile con i Windows Support Tools
Corrisponde al top dei sistemi Unix. Mostra una schermata aggiornata regolarmente con informazioni come la memoria, la cpu, il numero di thread, la priority dei processi in esecuzione.
La logica e il funzionamento sono gli stessi di top, le informazioni fornite sono adattate ad un sistema Windows.

PSTAT.exe - Installabile con i Windows Support Tools
Non prevede opzioni, basta eseguirlo per visualizzare un lungo elenco di tutti i processi con tutti i relativi thread. Per ogni thread viene indicato lo stato, il numero di context switch, la cpu utilizzata e altre informazioni.
pstat > pstat.txt
Redirige l'output di pstat su un file di testo per una comoda consultazione successiva

PFMON.exe - Installabile con i Windows Support Tools
Permette di monitorare tutte le paginazioni di un processo. Indica chiaramente le SOFT e le HARD page fault, utile per diagnosticare rallentamenti del sistema dovuti ad hard page fault.
pfmon /p 2189
Visualizza tutti i page fault del processo con PID 2189.
pfmon /p 2189 /d
Visualizza informazioni aggiuntive quali program counter, simboli e indirizzo di memoria virtuale del processo specificato.
Sono disponibili varie opzioni per limitare il tipo di page fault da visualizzare (per esempio -h per vedere solo gli hard fault).
ATTENZIONE: Quando si esegue pfmon su un processo corrente e lo si interrompe chiudendo la finestra del prompt dei comandi, il processo monitorato viene killato brutalmente, senza possibilità di salvataggio dei dati.

MEMSNAP.exe - Installabile con i Windows Support Tools
Scrive su un file di log (di default memsnap.log, nella directory corrente) informazioni relative alla memoria, utilizzata e paginata dai processi. Utile per individuare memory leaks.
memsnap /t /g
Aggiunge informazioni sul sistema, la data ecc. Le opzioni possono essere omesse.

TYPEPERF.exe - Presente di default
E' l'equivalente in command line del Performance monitor (perfmon.exe). Può essere utilizzato per visualizzare gli innumerevoli parametri sulle performance del sistema (anche remoto).
Ogni tipo di performance counter ha un PATH, che ha sintassi: [\\Computer]\object[parent/instance#index]\counter]
Sono disponibili numerose opzioni che ne aumentano la flessibilità e la possibilità di utilizzo in diversi contesti:
-c Specifica il PATH da monitorare
-q Visualizza l'elenco dei PATH di tutti i parametri monitorabili.
-q Visualizza l'elenco dei PATH di tutti i parametri monitorabili, incluse le singole istanze.
-cf nomefile Indica un file da cui ottenere, one per riga, l'elenco dei PATH da monitorare
-f Specifica il formato di output da utilizzare (csv|tsv|bin)
-si secondi Specifica ogni quanti secondi eseguire il controllo
-o nomefile Specifica il file su cui salvare i dati. Di default è lo standard output.
-sc numero Indica il numero di campioni da ottenere. Di default è infinito (si interrompe con CTRL+C)

Privacy Policy