[電子報封存 ^][< Volume 5, Number 2] [Volume 6, Number 2 >]
Systems Internals 電子報第 6 卷第 1 期
http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich
特別發佈版本
由於最近沒有電子報,您可能會認為該清單已損壞或我已經停止撰寫它們,但原因是 David Solomon 和我一直在努力撰寫下一版的「在 Windows 2000 中」。 其標題為「Windows 內部」,將涵蓋 Windows 2000、Windows XP 和 Server 2003。 我們已經取得了良好的進展,預計手稿將於 8 月完成,以利 10 月出版。 除了反映 OS 的變更之外,我們也擴充了許多領域的涵蓋範圍,包括安全性、損毀傾印分析、啟動等。 一旦我們完成,請恢復定期電子報。 也就是說,我已經包含了一個 Process Explorer 提示,我認為您會發現它很有用。
使用 PROCESS EXPLORER 來追蹤 CPU 使用量
如果您經常使用 Sysinternals,則您會看到 Process Explorer 在過去六個月內獲得重大增強功能。 其中一些可以比使用工作管理員更容易了解系統的 CPU 使用量。 例如,在工作管理員中,即使不使用 CPU 的處理程序在 CPU 資料行("00") 中也有文字,這使得很難將它們與使用 CPU 的處理程序區分開來。 工作管理員還將 CPU 使用率四捨五入到最接近的整數,這可能會隱藏或歪曲 CPU 使用量。 如果處理程序現在一直處於作用中狀態,但耗用不到 1% 的 CPU,它可能仍會顯示為 "00"。 最後,工作管理員會將中斷處理所使用的任何 CPU 時間屬性設為「系統閒置處理程序」,讓您無法識別造成電腦緩慢的錯誤驅動程式或硬體。
Process Explorer 讓您可以一目了然地查看哪些處理程序正在使用 CPU,因為它只顯示 CPU 使用量為非零的處理程序的數字,並且它可以更準確地查看部分CPU,從而顯示 CPU 使用量。 它也會將中斷 (硬體中斷) 和延後程序呼叫 (DPC - 軟體中斷) 活動顯示為虛擬處理程序。
不過,即使使用部分 CPU,也有幾乎一律會耗用 CPU 的處理程序,但不會顯示為這樣做。 這是因為 Windows 執行其時間計量的方式。 定期 (大多數系統上每 10 毫秒) 會引發時鐘中斷。 在回應中,Windows 時鐘中斷常式會執行,並假設目前執行的任何執行緒都是自上次時鐘中斷後使用 CPU 的執行緒。 10 毫秒在今天的多 GB CPU 上是很長一段時間,而且許多執行緒可以在時鐘中斷之間執行,但時鐘中斷常式永遠不會看到。
因此,判斷處理程序執行的另一種方法是檢查處理程序中執行緒所產生的內容切換數目。 選取執行緒以執行 (scheduled),其內容切換計數會遞增。 您可以藉由新增 [內容切換] 資料行來查看每個處理程序中發生的內容切換總數 (按一下 [檢視選取 > 資料行])。 但更有趣的數字是內容切換差異資料行。 這會顯示 Process Explorer 重新整理間隔之間每個處理程序中發生的內容切換數目 (預設為 1 秒)。
因此,針對系統上處理活動的不同檢視,請新增 [內容切換差異] 資料行並加以排序。 您會看到許多執行緒正在執行且未顯示為耗用任何 CPU 時間的執行緒,因為執行緒在 10 毫秒的時鐘間隔之間執行。 其中一些處理程序正在執行不需要的輪詢 (例如查詢登錄或檢查資料夾中的變更)。 這只是簡單草率的程式設計。 其他人可能正在執行有用的工作,但正在系統時間計量機制的「雷達下」運作。 您的工作就是辨別好壞。
Process Explorer 的下載網址:http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.
在 LINUX/WINDOWS 核心比較、PROCESS EXPLORER 和開機疑難排解技術上標示
來看看我在 Microsoft TechEd US 和歐洲演講,其中一個場次是「Windows 和 Linux:兩個核心的故事」,比較目前的 Linux 核心和 Windows 核心。 在 TechEd US,我也會介紹「使用 Sysinternals Process Explorer 進行進階 Windows 疑難排解」,在那裡我會提供您從 Process Explorer 取得最大功能的秘訣。 在 TechEd Europe 上,我的「使用 Sysinternals 工具進行有效的 Windows 疑難排解」顯示使用 Process Explorer、Regmon 和 Filemon 來解決真實世界的問題,而「針對 Windows 開機和啟動進行疑難排解」會教導您讓無法開機的系統再次執行的機制和技術。
深入了解:http://www.sysinternals.com/ntw2k/info/talk.shtml
MARK 和 DAVID SOLOMON 教導 WINDOWS OS 內部和疑難排解
請聽我和 David Solomon 介紹我們的 Windows 2000/XP/2003 內部課程:倫敦:2004 年 6 月 23 日至 25 日
加州矽谷:2004 年 9 月 27 日至 10 月 1 日 ***5 天實習課程!
德州奧斯丁:2004 年 12 月 14 日至 16 日
這是我們向世界各地的 Microsoft 員工教導的相同課程。 它涵蓋進程和線程的內部、線程排程、記憶體管理、安全性、登錄和 I/O 系統。 深入探討系統線程、系統呼叫分派、中斷處理和啟動和關機等機制。 了解使用 Sysinternals 工具的進階疑難排解技術,以及如何執行損毀傾印分析。 藉由了解 OS 的內部工作方式,您可以更有效地利用平台,更有效率地對問題進行偵錯和疑難排解。
注意:倫敦和奧斯丁的課程只是講課。 矽谷課程是實習課程 (請帶上您自己的筆記型電腦:將提供組態詳細資料)。
如需詳細資料和註冊,請造訪 http://www.sysinternals.com/troubleshoot.shtml
感謝您閱讀 Sysinternals 電子報。
ottoh 於 2004 年 4 月 27 日 (星期二) 下午 4:40 發佈