[Archivio newsletter ^] [< Volume 5, Numero 2] [Volume 6, Numero 2 >]
Newsletter Systems Internals Volume 6, Numero 1
http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich
NUMERO DEDICATO A UN ANNUNCIO SPECIALE
La mancanza di una newsletter recente vi avrà fatto pensare che si sia danneggiata la lista o che abbia smesso di pubblicarle, ma il motivo è che David Solomon e io ci siamo dedicati con passione alla prossima edizione di "Inside Windows 2000". Si intitolerà "Windows Internals" e riguarderà Windows 2000, Windows XP e Server 2003. Stiamo facendo ottimi progressi e contiamo di completare la stesura in agosto per pubblicarla nel mese di ottobre. Oltre a illustrare le modifiche apportate al sistema operativo, abbiamo deciso di affrontare molte aree nuove, tra cui sicurezza, analisi dei dump di arresto anomalo, avvio e altro ancora. In seguito, cercheremo di riprendere la regolare pubblicazione delle newsletter. Detto questo, ho aggiunto qui un suggerimento su Process Explorer che sono certo vi potrà essere utile.
USO PROCESS EXPLORER PER TENERE TRACCIA DELL'UTILIZZO DELLA CPU
Se frequentate Sysinternals, avrete visto i miglioramenti significativi a cui Process Explorer è stato sottoposto negli ultimi sei mesi. Alcuni di questi consentono ora di capire l'utilizzo della CPU del sistema molto più facilmente di quanto non riesca a fare Gestione attività. In Gestione attività, ad esempio, anche i processi che non consumano CPU sono riportati nella colonna CPU ("00") e risulta quindi difficile distinguerli dai processi che usano invece la CPU. Gestione attività arrotonda inoltre l'utilizzo della CPU al numero intero più vicino, determinando talvolta un'indicazione falsata dell'effettivo utilizzo della CPU. Se un processo è attivo, ma consuma meno dell'1% della CPU, può ancora essere visualizzato come "00". Gestione attività, infine, attribuisce qualsiasi tempo di CPU usato dall'elaborazione delle interruzioni al "Processo di inattività del sistema", rendendo impossibile l'identificazione di un driver o un componente hardware difettoso che rallenta il computer.
Process Explorer, invece, consente di identificare a colpo d'occhio i processi che stanno usando la CPU, in quanto visualizza solo i numeri di quelli il cui utilizzo della CPU è diverso da zero, e offre la possibilità di visualizzare il frazionamento della CPU per avere un quadro più accurato dell'utilizzo della CPU. Mostra anche le attività di interruzione hardware e di chiamata di procedura differita (DPC, interruzione software) come pseudo-processi.
Anche con la CPU frazionata, tuttavia, ci sono quasi sempre processi che consumano la CPU, ma non vengono indicati come tali. Il motivo è dovuto al modo in cui Windows gestisce la contabilità del tempo. Periodicamente (ogni 10 ms nella maggior parte dei sistemi) viene attivata un'interruzione dell'orologio. In risposta, viene eseguita la routine di interruzione dell'orologio di Windows, che considera il thread attualmente in esecuzione come quello che usa la CPU dal momento dell'ultima interruzione dell'orologio. 10 ms sono un tempo molto lungo sulle nuove CPU multigigahertz e molti thread possono essere eseguiti tra un'interruzione dell'orologio e l'altra senza mai essere visti dalla routine di interruzione dell'orologio.
Un altro modo per determinare l'esecuzione di un processo, quindi, è quello di esaminare il numero di cambi di contesto a cui sono sottoposti i thread di un processo. Quando un thread viene selezionato per l'esecuzione (programmata), il numero di cambi di contesto viene incrementato di una unità. È possibile visualizzare il numero totale di cambi di contesto a cui è stato sottoposto ogni processo aggiungendo la colonna Context Switch (Cambio contesto); a questo scopo fare clic su View->Select Columns (Visualizza > Seleziona colonne). Un numero più interessante, tuttavia, viene fornito dalla colonna Context Switch Delta (Delta cambio contesto), in cui viene visualizzato il numero di cambi di contesto che si verificano in ciascun processo tra ogni intervallo di aggiornamento di Process Explorer (che per impostazione predefinita è di 1 secondo).
Quindi, per avere una visione molto diversa dell'attività dei processi in esecuzione sul proprio sistema, aggiungete la colonna Context Switch Delta e ordinateli in base ad essa. Si vedranno molti processi con thread in esecuzione che non consumano tempo di CPU, perché i thread sono in esecuzione tra gli intervalli di orologio di 10 ms. Alcuni di questi processi eseguono inutili operazioni di polling (come l'interrogazione del Registro di sistema o il controllo delle modifiche in una cartella, ma si tratta ovviamente di una programmazione molto approssimativa). È possibile che altri processi svolgano operazioni più utili, ma passano inosservati ai meccanismi di misurazione del tempo nel sistema. Il vostro compito è quello di distinguere le operazioni utili da quelle inutili.
È possibile scaricare Process Explorer all'indirizzo http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.
MARK CONFRONTA I KERNEL LINUX E WINDOWS, PRESENTA PROCESS EXPLORER E ILLUSTRA LA RISOLUZIONE DEI PROBLEMI DI AVVIO A TECHED
Venite ad ascoltarmi al Microsoft TechEd US and Europe, in cui dedicherò una delle mie sessioni, "Windows and Linux: A Tale of Two Kernels", al confronto tra l'attuale kernel Linux e il kernel Windows. Durante il TechEd US presenterò anche "Advanced Windows Troubleshooting with Sysinternals Process Explorer", dove vi darò consigli su come sfruttare al meglio Process Explorer. Al TechEd Europe, invece, con l'intervento "Effective Windows Troubleshooting with the Sysinternals Tools" mostrerò come usare Process Explorer, Regmon e Filemon per risolvere problemi reali, mentre in "Troubleshooting Windows Boot and Startup" insegnerò i meccanismi e le tecniche per far ripartire un sistema non avviabile.
Per altre informazioni: http://www.sysinternals.com/ntw2k/info/talk.shtml
MARK AND DAVID SOLOMON PARLANO DEI COMPONENTI INTERNI E DELLA RISOLUZIONE DEI PROBLEMI DEL SISTEMA OPERATIVO WINDOWS
Venite ad ascoltare me e David Solomon mentre presentiamo il nostro corso sui componenti interni di Windows 2000/XP/2003: Londra: 23-25 giugno 2004
San Jose, CA: 27 settembre - 1° ottobre 2004 ***5 giorni di esercitazioni!
Austin, TX, 14-16 dicembre 2004
È lo stesso corso che teniamo ai dipendenti Microsoft in tutto il mondo. Vengono trattati gli interni dei processi e dei thread, la pianificazione dei thread, la gestione della memoria, la sicurezza, il Registro di sistema e il sistema di I/O. Esaminare meccanismi come thread di sistema, invio delle chiamate di sistema, gestione degli interrupt e avvio e arresto. Apprenderete infine tecniche avanzate di risoluzione dei problemi tramite gli strumenti di Sysinternals e come eseguire l'analisi dei dump di arresto anomalo. 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.
NOTA: le lezioni di Londra e Austin sono solo teoriche. La lezione di San Jose comprende invece esercitazioni pratiche (vengono fornite istruzioni per la configurazione del proprio portatile).
Per informazioni dettagliate e registrazione, visitate http://www.sysinternals.com/troubleshoot.shtml
Grazie per aver letto la newsletter di Sysinternals.
Pubblicata da ottoh martedì 27 aprile 2004 alle 16:40
[Archivio newsletter ^] [< Volume 5, Numero 2] [Volume 6, Numero 2 >]