Condividi tramite


[Archivio newsletter ^] [< Volume 4, Numero 1] [Volume 4, Numero 3 >]

Newsletter Systems Internals Volume 4, Numero 2

http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich


12 agosto - In questo numero:

  1. EDITORIALE

  2. NOVITÀ DI SYSINTERNALS

    • TCPView v2.21
    • LiveKd v2.0
    • PsInfo v1.33|
    • PsList v1.21
    • BgInfo v3.0
    • PageDefrag v2.2
    • Regmon v4.34 per Win64/Itanium
    • Sysinternals in PC World Magazine
    • Sysinternals in Microsoft
  3. INFORMAZIONI SU INTERNALS

    • Mark e David Solomon insegnano i meccanismi interni a Londra
    • Introduzione allo sviluppo di Windows NT
    • Quando una modifica non conta
    • .NET Server RC1
    • Caricamenti di script WMI
    • Uso di BootVis per profilare il processo di avvio
  4. SVILUPPI FUTURI

    • Breve introduzione all'analisi del dump di arresto anomalo del sistema

SPONSOR: WINTERNALS SOFTWARE

La newsletter Sysinternals è sponsorizzata da Winternals Software, disponibile sul Web all'indirizzo http://www.winternals.com. Winternals Software è il principale sviluppatore e provider di strumenti avanzati di sistemi per Windows NT/2K/XP. I prodotti Winternals Software includono FAT32 per Windows NT 4.0, NTFSDOS Professional Edition (driver NTFS di lettura/scrittura per DOS) e Remote Recover. Winternals è orgogliosa di annunciare Defrag Manager versione 2.0, l'utilità di deframmentazione aziendale più veloce e completa disponibile. È ora possibile gestire le pianificazioni della deframmentazione nell'intera azienda Windows da un semplice snap-in MMC, senza dover installare alcun software client nei sistemi NT o Windows 2000. Per altre informazioni o per richiedere una versione di valutazione gratuita di 30 giorni, visitare http://www.winternals.com/es.

Ciao a tutti.

Newsletter di Sysinternals. La newsletter conta attualmente 35.000 abbonati.

Avrete probabilmente sentito parlare del prossimo processore Hammer di AMD (ora formalmente annunciato come "Opteron"), che verrà rilasciato alla fine di quest'anno. Con Hammer, AMD sta portando la sua guerra con Intel dal campo dei 32 bit a quello dei 64 bit. Penso che Intel dovrebbe avere paura e vi dirò perché.

Itanium è l'ingresso di Intel nello spazio a 64 bit e include la compatibilità binaria x86 per facilitare la migrazione. Itanium è sul mercato da quasi due anni, ma non è riuscito a farsi strada, anche con il supporto di HP-UX, Linux, Windows XP 64-bit Edition e Windows Advanced Server 64-bit Edition. Secondo le stime del settore, i processori Itanium hanno venduto solo poche migliaia di unità e ritengo che il recente Itanium II non migliorerà il tasso di distribuzione.

Quali sono le ragioni per cui Itanium ha fatto registrare risultati deprimenti fino a ora? Credo che il fattore principale sia che Itanium e l'intera strategia a 64 bit di Intel si basano su una nuova architettura di tipo RISC e, con l'eccezione della compatibilità binaria x86, Itanium è solo un altro processore a 64 bit tra Alpha, PA-RISC, Sparc64 e PowerPC. Inoltre, sebbene Itanium supporti le applicazioni x86 a 32 bit esistenti, queste ultime subiscono una significativa riduzione delle prestazioni rispetto alle applicazioni native a 64 bit. Ciò significa che dovete assicurarvi che tutte le applicazioni che volete eseguire con prestazioni ragionevoli su Itanium siano portate a 64 bit.

Hammer, invece, è un'evoluzione che estende naturalmente l'architettura x86 e il set di istruzioni a 64 bit. È in grado di eseguire applicazioni a 32 bit e applicazioni a 64 bit affiancate quasi con gli stessi livelli di prestazioni. Inoltre, è possibile avviare Hammer in modalità a 32 bit completa, rendendolo apparentemente un sistema x86 standard in grado di eseguire un sistema operativo a 32 bit. Non solo, ma Hammer supporta le modalità x86 a 16 bit e può usare il codice BIOS x86 a 32 bit standard anche quando si esegue l'avvio in un sistema operativo a 64 bit. Ciò significa che si può avere un sistema a doppio avvio con la possibilità di selezionare un sistema operativo a 32 bit oppure un sistema operativo a 64 bit.

Credo che l'approccio di AMD offra un vantaggio enorme rispetto alla direzione che Intel ha preso con Itanium. AMD può iniziare a vendere Hammer non appena disponibile ai clienti che non sono ancora pronti a passare ai 64 bit o che hanno solo un'applicazione che può sfruttare un computer a 64 bit. Le applicazioni a 32 bit possono sfruttare appieno le innovazioni in termini di prestazioni introdotte da AMD in Hammer e, se i prezzi di Hammer si avvicinano a quelli delle CPU a 32 bit, la decisione di acquistare Hammer potrebbe essere un gioco da ragazzi. Questo dovrebbe consentire ad AMD di infiltrarsi nel mercato con i processori a 64 bit a partire dalla fascia bassa. In contrasto con l'approccio di Intel alla fascia alta, una strategia che probabilmente sarà molto più rischiosa e richiederà molto più tempo. Ritengo che Hammer offra ad AMD l'opportunità di insinuarsi e diventare la piattaforma a 64 bit di fatto.

Che dire del vantaggio in termini di prestazioni che Intel potrebbe sostenere che l'architettura "pulita" EPIC (Explicitly Parallel Instruction Computing) di Itanium offre rispetto a x86-64 di AMD? Dovremo aspettare e vedere, ma finora AMD ha dato filo da torcere a Intel nell'arena dei 32 bit. Inoltre, se si confrontano Itanium II e i migliori processori x86 (vedere www.spec.org), si scopre che le prestazioni dei due processori sono piuttosto equivalenti per quanto riguarda i numeri interi, mentre Itanium ha un vantaggio del 50-75% in virgola mobile. Ciò nonostante il fatto che Itanium è circa due volte più costoso. Ad esempio, il sistema Itanium II di fascia bassa di Hewlett Packard costa 5865 dollari, mentre un sistema Hewlett Packard Pentium IV a 2 GHz in una configurazione equivalente costa solo 2385 dollari.

Dove ha preso AMD l'idea di estendere l'architettura x86 invece di definirne una nuova con compatibilità x86 come una funzionalità? Quando Intel è entrata nel mondo dei 32 bit, lo ha fatto estendendo l'architettura e il set di istruzioni x86 a 16 bit per creare versioni a 32 bit in grado di eseguire anche applicazioni a 16 bit. Di conseguenza, i processori x86 a 32 bit possono eseguire sistemi operativi a 16 bit e a 32 bit. Tuttavia, Intel non ha usato questo approccio con la strategia a 64 bit. Questo potrebbe essere dovuto al fatto che a metà degli anni '90 l'azienda vedeva avvicinarsi rapidamente il limite massimo per l'x86 in termini di prestazioni, data la complessità del progetto, e riteneva che un nuovo progetto potesse andare più lontano nel futuro. Oggi sia Intel che AMD hanno dimostrato che questa ipotesi era sbagliata con le loro sorprendenti velocità di clock x86: Intel ha dimostrato che un Pentium IV funziona a 4 GHz. Intel potrebbe pagare il prezzo del suo errore di calcolo.

Inoltrate la newsletter ai vostri amici che pensate potrebbero essere interessati a questi contenuti.

Grazie.

- Mark

NOVITÀ DI SYSINTERNALS

TCPVIEW V2.21

TCPView è un'applicazione presente sul sito di Sysinternals da diversi anni, ma fino al recente aggiornamento 2.0 non era molto di più di una versione GUI dello strumento da riga di comando netstat di Windows. Questa importante revisione apporta una serie di potenti funzionalità, la più significativa delle quali è la visualizzazione su NT 4, Windows 2000 e Windows XP del processo proprietario di ogni endpoint TCP e UDP. È anche possibile visualizzare i dati della versione di un processo e il percorso di un eseguibile, nonché terminare processi non autorizzati. Una funzionalità utile se si vuole impedire a un'applicazione di usare una determinata porta è la possibilità di chiudere le connessioni al volo senza terminare il processo.

Nell'area dell'interfaccia utente l'ultima versione introduce l'aggiornamento automatico a intervalli selezionabili e l'evidenziazione delle differenze. L'evidenziazione delle differenze, che aiuta a esaminare più in dettaglio l'attività in tempo reale, mette in evidenza con i colori gli elementi nuovi e quelli eliminati, un aspetto che ho ripreso da Process Explorer.

TCPView v2.21 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

LIVEKD V2.0

Uno degli strumenti che David Solomon e io abbiamo incluso nel CD del nostro libro Inside Windows 2000 (vedere http://www.sysinternals.com/insidew2k.shtml) è LiveKd. LiveKd è un front-end per i debugger del kernel Microsoft, che consente di eseguire i debugger per interagire con un sistema live. L'uso di un debugger per esaminare un sistema senza dover usare un secondo computer e una connessione seriale per il debug facilita l'esplorazione dei meccanismi interni e può anche essere d'aiuto per la risoluzione dei problemi. La prima versione di LiveKd supportava solo NT 4 e Windows 2000. LiveKd versione 2.0 funziona in Windows XP.

Sebbene Microsoft abbia seguito il mio esempio e abbia aggiunto le funzionalità di debug del kernel live a Windows XP, alcuni comandi di debug non funzionano quando vengono eseguiti su un sistema live. Per questo motivo mi sono preso la briga di aggiornare LiveKd per farlo funzionare su Windows XP.

Un esempio è l'output dello stack dai comandi !process o !thread. LiveKd mostra lo stack del kernel completo, a differenza della funzionalità di debug live per XP predefinita. Un altro esempio è il comando !stacks, che è possibile usare per vedere dove sono attualmente in esecuzione i thread e dove potrebbero aver iniziato l'esecuzione. Il comando !stacks è utile quando si esegue il debug di un problema che coinvolge i thread di sistema e si vuole determinare il loro scopo: conoscere il driver in cui un thread viene eseguito può essere l'indizio necessario per risolvere un problema.

La patch LiveKd v2.0 è disponibile per il download all'indirizzo
http://www.sysinternals.com/insidew2k.shtml
Si noti che è necessaria una copia di LiveKd dal CD del libro a cui applicare la patch.

PSINFO V1.33

PsInfo, uno della decina di strumenti che compongono la suite PsTools di strumenti amministrativi per Windows NT/2000/XP da riga di comando e in grado di operare in remoto, continua a evolversi sulla base del feedback degli utenti. La versione 1.33 aggiunge la possibilità di elencare gli hotfix e le applicazioni installati, nonché di segnalare i dati su etichette, dimensioni e utilizzo per i volumi dei dischi di un computer.

PsInfo v1.33 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
L'intero pacchetto PsTools è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLIST V1.21

Se vi piace usare la riga di comando o avete mai voluto ottenere un elenco di processi per un computer (locale o remoto) con dati sull'utilizzo della CPU, sarete interessati all'ultima versione di PsList, un altro membro della suite PsTools. PsList v1.2 introduce opzioni da riga di comando che lo eseguono in modalità di gestione attività in una finestra di comando, aggiornando a un intervallo configurabile e visualizzando l'utilizzo della CPU. Un'altra nuova opzione fa sì che PsList usi l'indentazione per mostrare le relazioni padre-figlio dei processi, il che a volte è utile per capire lo scopo dei processi che si ha difficoltà a identificare.

PsList v1.21 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/pslist.shtml
L'intero pacchetto PsTools è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V3.0

Gestire più di un sistema significa di solito dover affrontare la seccatura di usare note adesive o aprire le utilità di informazioni sul sistema per determinare le specifiche e la configurazione di un sistema. BgInfo è un'utilità che visualizza le informazioni di sistema standard e personalizzate specificate dall'utente direttamente sul desktop, fornendo a colpo d'occhio tutti i dati ritenuti importanti.

BgInfo è già versatile perché consente di specificare una set predefinito di valori o di ottenere i valori dal Registro di sistema o dai file. BgInfo v3.0 aggiunge ancora più capacità di personalizzazione introducendo il supporto per gli script di Visual Basic, per poter creare script che acquisiscono le impostazioni di configurazione personalizzate e le segnalarle a BgInfo per la presentazione.

BgInfo v3.0 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

PAGEDEFRAG V2.2

Il file di paging, i file del Registro di sistema o i file di log degli eventi sono sempre più frammentati? L'utilità di deframmentazione predefinita non gestisce questi file perché devono essere deframmentati all'avvio, prima che il sistema operativo sia in funzione. PageDefrag è un'utilità di deframmentazione leggera con l'unico scopo di deframmentare questi file critici del sistema.

PageDefrag versione 2.2 include il supporto di Windows XP e consente di specificare un timer per il conto alla rovescia visualizzato da PageDefrag prima della deframmentazione. Il timer funziona come quello implementato da chkdsk, dove per interrompere la deframmentazione, è sufficiente premere qualsiasi tasto durante il conto alla rovescia.

PageDefrag v2.2 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml

REGMON V4.34 per WIN64/ITANIUM

L'anno scorso Microsoft mi ha prestato un sistema Itanium per poter convertire gli strumenti di Sysinternals in Win64. Non tutti gli strumenti richiedono la conversione perché la maggior parte delle applicazioni a 32 bit funziona senza modifiche su un processore Itanium con Windows XP 64-bit Edition, usando il supporto di compatibilità binaria a 32 bit di Itanium. Tuttavia, Windows XP 64-bit Edition non carica i driver a 32 bit, il che significa che qualsiasi strumento di Sysinternals che abbia un componente driver deve avere almeno il driver convertito a 64 bit.

La prima utilità che ho convertito è stata Filemon. La conversione di Filemon è stata relativamente semplice perché è bastato modificare l'origine del driver e dell'interfaccia utente grafica per renderlo conforme alle regole sui tipi di dati a 64 bit e quindi ricompilarlo. Ho descritto il processo di conversione nell'ultima newsletter. La conversione di Regmon includeva gli stessi problemi relativi al tipo di dati, ma anche altri problemi che rendevano molto più difficile la conversione.

Regmon si basa su un driver che applica patch alla tabella delle chiamate di sistema nel kernel con routine di intercettazione di Regmon in modo che possa monitorare l'attività del Registro di sistema. Per farla breve, l'interfaccia delle chiamate di sistema su Itanium ha caratteristiche dipendenti dal processore che rendono inutilizzabile l'approccio che ho usato con il driver a 32 bit. Per questo motivo ho dovuto usare un codice difficile per far funzionare l'intercettazione delle chiamate di sistema su XP a 64 bit.

Fortunatamente, Microsoft ha implementato un'interfaccia di callback dell'attività del Registro di sistema nel kernel di Windows .NET Server che rende superflua la tecnica usata da Regmon per osservare l'attività del Registro di sistema. Nel prossimo futuro è previsto un aggiornamento di Regmon che dimostri la nuova API di Windows .NET Server e una descrizione dell'API nella newsletter.

Regmon v4.34 è disponibile per il download all'indirizzo
http://www.sysinternals.com/ntw2k/source/regmon.shtml

SYSINTERNALS IN PC WORLD MAGAZINE

Regmon e Filemon sono stati inseriti nel numero di agosto di PC World, una rivista di informatica ad alta tiratura, come strumenti consigliati per la risoluzione dei problemi. Per altre informazioni, vedere http://www.pcworld.com/features/article/0,aid,101750,00.asp

SYSINTERNALS AT WWW.MICROSOFT.COM

Ecco la versione più recente dei riferimenti di Sysinternals negli articoli della Microsoft Knowledge Base (KB) rilasciati dopo l'ultima newsletter. Questo porta a 38 il numero totale di riferimenti della KB a Sysinternals.

  • PROCEDURA: Creare modelli amministrativi personalizzati in Windows 2000
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q323639

  • Ritardi di accesso su collegamenti lenti se non viene concesso il blocco opportunistico per il file dei criteri
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q319440

  • XCON: Il processo MTA perde memoria con un numero di handle elevato http://support.microsoft.com/default.aspx?scid=kb;EN-US;q313735

Inoltre, Microsoft ha premiato Sysinternals come sito della comunità di Windows XP Embedded attualmente in primo piano! Vedere http://www.microsoft.com/windows/embedded/community/default.asp

INFORMAZIONI SU INTERNALS

MARK E DAVID SOLOMON INSEGNANO I MECCANISMI INTERNI A LONDRA

Ascoltate me e David Solomon mentre presentiamo il nostro corso di 3 giorni sui meccanismi interni di Windows 2000/XP/.NET Server a Londra dal 23 al 25 settembre (il prossimo corso è il 9-11 dicembre ad Austin, Texas). In base a "Inside Windows 2000, 3rd Edition", descrive l'architettura del kernel e l'interrelazione dei componenti e dei meccanismi chiave del sistema, ad esempio thread di sistema, invio di chiamate di sistema, gestione degli interrupt, & avvio e arresto. Gli interni dei sottosistemi chiave illustrati includono processi e thread, pianificazione dei thread, gestione della memoria, sicurezza, sistema di I/O, NTFS e gestione cache. Comprendendo i meccanismi interni del sistema operativo, è possibile sfruttare la piattaforma in modo più efficace ed eseguire il debug e risolvere i problemi in modo più efficace.

Per altre informazioni,http://www.sysinternals.com/seminar.shtml vedere

INTRODUZIONE ALLO SVILUPPO DI WINDOWS NT

Questa presentazione risale a un paio di anni fa, ma è comunque uno sguardo interessante sulla storia dello sviluppo di Windows NT 3.1 fino a Windows 2000. Mark Lucovsky, uno degli ingegneri software originali di NT, ha tenuto la presentazione alla conferenza tecnica annuale di USENIX nel 2000. Descrive le dimensioni dei team di sviluppo, le percentuali dei difetti (del codice scritto, non dei membri), il sistema di controllo del codice sorgente e le sfide di sviluppo per i team.

Guardate l'intervento di Mark Lucovsky sulla storia dello sviluppo di NT all'indirizzo http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/

A questo proposito, ecco la storia di Windows di Microsoft, da Window 1.0 a Windows .NET Server: http://www.microsoft.com/windows/WinHistoryIntro.asp

QUANDO UNA MODIFICA NON CONTA

Windows tiene traccia di diversi timestamp per file e directory. Includono la creazione, l'ultimo accesso e l'ultima modifica. Il timestamp dell'ultima modifica viene documentato come la registrazione dell'ultima volta in cui è stato scritto in un file. Sfortunatamente, un'applicazione che si affida a questo avrà una brutta sorpresa.

Se un'applicazione apre un file usando l'API CreateFile e quindi scrive nel file tramite WriteFile o una delle sue varianti, l'ora dell'ultima modifica rispecchia l'ora della modifica più recente del file. Se l'applicazione apre il file per l'I/O mappato alla memoria usando CreateFileMapping e MapViewOfFile, quindi modifica il file cambiando il contenuto mappato, i dati vengono infine riscritti nel file dallo strumento di gestione della memoria e la versione su disco viene modificata. Il problema è che i driver del file system non aggiornano l'ora dell'ultima modifica di un file quando viene apportata una modifica come risultato di un'operazione di scrittura mappata alla memoria.

Perché no? Suppongo che gli sviluppatori abbiano voluto prendere una scorciatoia a favore delle prestazioni, ma il comportamento non è documentato e quindi posso solo fare delle ipotesi. Credo che le operazioni di scrittura non siano tutte uguali.

.NET SERVER RC 1

Windows .NET Server RC 1 è partito e c'è la possibilità che Microsoft realizzi la versione RTM (Release To Manufacturing) del nuovo sistema operativo per server entro la fine dell'anno (una possibilità pari a quella di essere morsi da un serpente e da uno squalo nello stesso anno). Dal punto di vista del kernel non c'è una modifica visibile importante rispetto a Windows XP. Non ci sono nuovi sottosistemi del kernel, Win32 o API del kernel, ma solo modifiche che migliorano le prestazioni su sistemi di grandi dimensioni e una manciata di API che completano i set di API esistenti.

Ci sono tuttavia grandi cambiamenti nello spazio utente. Il più grande è naturalmente .NET Framework, ma sono disponibili anche nuovi servizi orientati ai server. Il servizio Copia Shadow del volume, introdotto in Windows XP per il backup, viene utilizzato per consentire agli utenti client di eseguire il rollback dei file nelle condivisioni del server a versioni precedenti. Non è necessario alcun intervento dell'amministratore perché un utente può semplicemente selezionare la voce desiderata in un elenco di cronologia file visualizzato in una nuova scheda delle proprietà dei file di Explorer.

Un miglioramento della rete dei server è Winsock Direct, un'infrastruttura che consente all'applicazione su un server in una configurazione a più livelli con interconnessione di rete specializzata, una configurazione chiamata SAN (System Area Network), di comunicare direttamente con l'hardware di rete, ignorando lo stack TCP/IP e il kernel.

David Solomon e io abbiamo scritto un articolo che descrive le modifiche a livello di sistema di .NET Server. Parleremo di .NET Server anche nella prossima revisione di Inside Windows 2000, che si chiamerà Windows Internals e sarà pubblicata la prossima primavera.

CARICAMENTI DI SCRIPT WMI

Se vi piace la suite PsTools di Sysinternals, probabilmente siete appassionati di script e, se i vostri sistemi eseguono Windows 2000 o XP o hanno installato i componenti principali di NT 4 WMI, dovreste andare sul sito TechNet di Microsoft e prendere gli script di esempio WMI gratuiti che sono stati pubblicati. La raccolta è ampia ed è suddivisa in categorie, ad esempio gestione computer e reti, ed è possibile scaricarli singolarmente o tutti in una volta.

È possibile scaricare gratuitamente gli script WMI di esempio all'indirizzo http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scrip tcenter/sampscr.asp

A proposito di omaggi da parte di Microsoft, è possibile scaricare un subset degli strumenti del Resource Kit di Windows 2000. Visitare la pagina http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp

USO DI BOOTVIS PER PROFILARE IL PROCESSO DI AVVIO

Periodicamente mi viene richiesto di sviluppare uno strumento per Sysinternals che monitorizzi il processo di avvio in modo che l'utente possa determinare le cause di eventuali ritardi. Fortunatamente ho aspettato abbastanza a lungo da essere preceduto da Microsoft. Lo strumento che hanno scritto si chiama BootVis e ha avuto un ruolo importante nelle ottimizzazioni delle prestazioni di avvio implementate per Windows XP. È possibile scaricarlo da http://www.microsoft.com/HWDEV/PLATFORM/performance/fastboot/BootVis.asp. BootVis, che viene eseguito solo in Windows XP, usa la funzione di tracciamento del kernel WMI di XP per raccogliere una traccia dettagliata del processo di avvio, inclusi l'utilizzo della CPU, le operazioni di I/O del disco, l'avvio dei processi e le operazioni di I/O dei driver. Definire il file della guida fornito con BootVis come conciso è poco, quindi vi spiegherò come utilizzare lo strumento.

Per vedere con precisione quali funzioni con driver e moduli incidono sul tempo della CPU, aprire la finestra di dialogo Tools|Options e selezionare BootVis nei simboli di Windows XP installati. Quindi fare in modo che BootVis acquisisca una traccia dell'avvio successivo, inclusi i ritardi dei driver, selezionando Trace|Next Boot+Driver Delays. BootVis eseguirà il conto alla rovescia e quindi riavvierà il sistema.

Dopo l'avvio del sistema, accedere ed eseguire di nuovo BootVis. Selezionare Trace|Stop Trace per estrarre la traccia che viene raccolta dal kernel e salvarla in un file, che verrà quindi caricato per la visualizzazione. Verranno visualizzati quattro grafici. In Cpu Usage viene visualizzata una traccia della quantità di elaborazione della CPU utilizzata durante l'avvio. Il grafico a barre Disk I/O mostra il numero di letture (in rosso) e di scritture (in blu) su disco al secondo. Nel grafico Driver Delay vengono visualizzati i rettangoli che rappresentano le operazioni di I/O dei driver che hanno avuto una durata superiore al limite predefinito di BootVis pari a 100 millisecondi: tali ritardi sono considerati significativi. Infine, il grafico Process Creates mostra i rettangoli etichettati in cui sono stati avviati i processi.

BootVis non mostra necessariamente tutti i dati di traccia raccolti all'avvio, per cui è necessario usare il pulsante per lo zoom indietro fino a quando non si inizia a vedere il bordo destro dei dati inseriti nel grafico. Esaminare ora ognuno dei grafici. Se viene visualizzato un picco di CPU o del disco oppure si vuole fare zoom avanti sull'attività di avvio del processo, usare l'apposito pulsante della barra degli strumenti. Si noti che l'ora di inizio mostrata rimarrà 0 quando si fa zoom avanti, quindi dopo lo zoom immettere manualmente un'ora vicina all'attività a cui si è interessati nella casella di modifica Display Time.

I grafici CPU Usage, Disk I/O e Driver Delay consentono di visualizzare più informazioni di quelle immediatamente visibili. Selezionare un'area nel grafico a cui si è interessati spostando il cursore, tenendo premuto il pulsante sinistro del mouse e trascinandolo. Fare quindi clic con il pulsante destro del mouse per aprire un menu. L'opzione di menu più interessante nel grafico CPU Usage è Show Summary, che apre una finestra di dialogo con la ripartizione per processo dell'utilizzo della CPU per l'intervallo di tempo selezionato. Se si fa doppio clic su uno dei processi, viene visualizzata un'altra finestra di dialogo che mostra una ripartizione dell'utilizzo della CPU per modulo (ad esempio, le DLL nel processo). Se sono stati configurati simboli, è anche possibile fare doppio clic su un modulo e ottenere una finestra di dialogo che mostra una ripartizione dell'utilizzo della CPU di tale modulo in base alla funzione.

Quando si fa clic con il pulsante destro del mouse su un'area selezionata nel grafico Disk I/O, vengono visualizzate due voci di menu: Show Summary Table e Show Detail Graph. Selezionare Show Summary Table per visualizzare un resoconto, suddiviso per modulo, di tutte le operazioni di I/O che si sono verificate durante l'intervallo. Scegliere Show Detail Graph per visualizzare un grafico a linee che rappresenta i settori effettivi all'interno del disco a cui è stato eseguito l'accesso nell'intervallo. Il grafico dettagliato associa le operazioni di I/O ai processi che le hanno eseguite e consente di escludere i processi deselezionandoli nell'elenco a sinistra. È possibile selezionare un'area all'interno del grafico dettagliato e accedere a un altro grafico di riepilogo per tale sottointervallo facendo clic con il pulsante destro del mouse e scegliendo la voce di menu risultante.

Scegliendo Show Summary Table dal menu contestuale del grafico Driver Delay, si ottiene un elenco delle operazioni di I/O mostrate nell'area selezionata, che include il nome del driver che ha eseguito l'operazione di I/O, l'inizio, la fine e il tempo totale di ogni I/O e la funzione di I/O eseguita.

Siamo giunti alla fine dell'esercitazione su BootVis. Sebbene non sia uno strumento particolarmente curato, dopo aver giocato un po' con BootVis sarete sicuramente d'accordo con me che il livello di dettaglio visualizzabile con i suoi grafici è sorprendente. La prossima volta che avrete un avvio lungo e vorrete sapere qual è il responsabile, saprete a chi rivolgervi per trovare la risposta.

SVILUPPI FUTURI

BREVE INTRODUZIONE ALL'ANALISI DEL DUMP DI ARRESTO ANOMALO DEL SISTEMA

I recenti miglioramenti di Microsoft agli strumenti di debug del kernel hanno reso praticamente indolore l'analisi dei dump di arresto anomalo del sistema. La prossima volta vi mostrerò come diventare un professionista dell'analisi dei dump in meno di un'ora.


Grazie per aver letto la newsletter di Sysinternals.

Data di pubblicazione: lunedì 12 agosto 2002 19:00 da ottoh

[Archivio newsletter ^] [< Volume 4, Numero 1] [Volume 4, Numero 3 >]