8月12日-在此問題中:

  1. 編輯

  2. SYSINTERNALS 的新功能

    • TCPView v 2.21
    • LiveKd v 2。0
    • PsInfo v 1.33 版 |
    • PsList v 1.21
    • BgInfo v3。0
    • PageDefrag 2。2
    • 適用于 Win64/Itanium 的 Regmon v 4.34
    • PC World 雜誌 Sysinternals
    • Microsoft 的 Sysinternals
  3. 內部資訊

    • Mark 和 David 在倫敦的內部教授
    • 內部開發 Windows NT
    • 變更未計數時
    • .NET Server RC1
    • WMI 腳本的載入
    • 使用 BootVis 來分析開機進程
  4. 即將推出的內容

    • 損毀傾印分析的快速簡介

贊助商: WINTERNALS SOFTWARE

Sysinternals 電子報是由 Winternals Software 贊助,網址為: http://www.winternals.com. Winternals Software 是 advanced systems tools for Windows NT 的領導開發人員和提供者/2K/XP。 Winternals Software 產品包括 FAT32 適用于 Windows NT 4.0、NTFSDOS Professional Edition (讀取/寫入 NTFS 驅動程式以進行 DOS) 和遠端復原。 Winternals 很榮幸地宣佈重組管理員2.0 版,這是最快、最完整的企業磁碟重組工具。 您現在可以從簡單的 MMC 嵌入式管理單元,管理整個 Windows enterprise 的磁碟重組排程,而不需要在您的 NT 或 Windows 2000 系統上安裝任何用戶端軟體。 請造訪以 http://www.winternals.com/es 取得詳細資訊,或申請免費的30天試用版。

大家好,

歡迎使用 Sysinternals 電子報。 這份電子報目前有35000的訂閱者。

您可能聽說過 AMD 即將推出的鐵錘處理器 (現在正式宣佈為「皓龍」 ) ,即將於今年年底發行。 有了鐵錘,AMD 就能從32位欄位將其 war 帶到64位欄位。 我覺得 Intel 應該害怕,我會告訴您原因。

Itanium 是 Intel 在64位空間中的專案,其中包含了 x86 二進位相容性,以簡化遷移工作的方式。 Itanium 已在 marketplace 中的將近兩年,但無法進行運用,即使是 hp-ux、Linux、Windows XP 64 位版,以及支援它的 Windows Advanced Server 64 位版本。 業界預估專案 Itaniums 為只銷售數千個單位,我的猜測是最近發行的 Itanium II 將無法改善部署的速率。

Itanium 的進行中顯示的原因是到目前為止? 我相信,最主要的因素是,Itanium 和 Intel 的整個64位策略是以新的 RISC 型別架構為基礎,除了 x86 二進位檔相容性之外,Itanium 只是 Alpha、PA、Sparc64 和 PowerPC 之間的另一個64位處理器。 雖然 Itanium 支援現有的 x86 32 位應用程式,但相較于原生的64位應用程式,這些應用程式會大幅降低效能。 這表示您必須確定您想要在 Itanium 上以合理效能執行的任何應用程式都會移植到64位。

另一方面,鐵錘是自然將 x86 架構和指令集延伸至64位的演進。 它能夠在幾乎相同的效能層級上,並存執行32位應用程式和64位應用程式。 此外,您可以將鐵錘開機為完整的32位模式,使其看起來是能夠執行32位 OS 的標準 x86 系統。 但鐵錘支援 x86 16 位模式,即使您開機進入64位作業系統,也可以使用標準的32位 x86 BIOS 代碼。 這表示您可以將具有32位 OS 的雙重開機系統作為選取專案,並使用64位作業系統作為另一個。

我相信 AMD 的方法比 Intel 採用 Itanium 的方向提供了巨大的優勢。 AMD 可以在鐵錘提供給可能尚未準備好移至64位的客戶,或只有一個可利用64位電腦的應用程式時,立即開始銷售。 32位應用程式可以充分利用 AMD 進入鐵錘的效能創新,如果 AMD 價格鐵錘接近32位的 CPU 價格,則購買決策可能是不易如反掌。 這應該可讓 AMD 從低端滲透具有其64位處理器的 marketplace。 相較于 Intel 的高階方法,這種策略可能會風險,而且需要更長的時間。 我相信鐵錘讓 AMD 有機會搶先,成為事實上的64位平臺。

關於 Intel 可能宣稱 Itanium 的「乾淨」明確平行指令運算的效能邊緣, () 架構在 AMD 的 x86-64 上提供? 我們必須等待並看看,但 AMD 一直到目前為止,Intel 在32位的領域中執行了它的金錢。 而且,如果您查看 Itanium II 與最佳 x86 處理器之間的比較 (請參閱 www.spec.org) 您會發現它們相當平均地符合整數效能,而 Itanium 在浮點數有50-75% 的潛在客戶。 這是因為 Itanium 大約是昂貴的兩倍。 例如,來自 Hewlett Packard 的低端 Itanium II 系統成本 $5865,以及在2GHz 上執行的 Hewlett Packard Pentium IV 系統,只是 $2385。

AMD 在哪裡可以瞭解如何延伸 x86 架構,而不是定義一個具有 x86 相容性的新功能? 當 Intel 移至32位世界時,它會藉由擴充16位 x86 架構和指令集,以製作可能也執行16位應用程式的32位版本。 因此,32位 x86 處理器可以執行16位和32位作業系統。 不過,Intel 未使用這種方法搭配其64位策略。 這可能是因為在90's 中,它會根據設計的複雜度,在效能方面看到最接近 x86 的程度,而且認為全新的設計可能會更進一步。 現今的 Intel 和 AMD 都證明了這種假設的驚人 x86 時脈速度,而 Intel 已示範以 4 GHz 執行的 Pentium IV。 Intel 可以支付其 kentucky 的價格。

請將電子報傳遞給您認為可能對其內容感興趣的朋友。

謝謝!

-Mark

SYSINTERNALS 的新功能

TCPVIEW V 2.21

TCPView 是 Sysinternals 網站上多年來的應用程式,但在最近的2.0 更新之前,它並不超過 Windows netstat 命令列工具的 GUI 版本。 這項主要修訂提供強大功能的許多,其中最重要的就是在 NT 4 上顯示、Windows 2000,以及擁有每個 TCP 和 UDP 端點的進程 Windows XP。 您也可以查看處理常式的版本資料和可執行檔路徑,以及終止 rogue 進程。 如果您想要停止使用特定埠的應用程式,讓應用程式無法在不終止進程的情況下即時關閉連接,您會發現這項功能會很有用。

在 UI 區域中,最新版本會以可選取的間隔和差異醒目提示引進自動重新整理。 差異醒目提示,可協助您在活動發生時進行放大,說明新增和刪除專案的色彩醒目提示,也就是我在 Process Explorer 中所做的事。

下載 TCPView v 2.21,網址為
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

LIVEKD V 2。0

在 Windows 2000 (看到 ) 的 LiveKd 中,其中一項是 David 的其中一項工具,並包含在 CD 上 http://www.sysinternals.com/insidew2k.shtml 。 LiveKd 是 Microsoft 內核偵錯工具的前端,可讓您執行偵錯工具與即時系統互動。 使用偵錯工具來查看系統,而不需要使用第二台電腦和序列偵錯工具,就能輕鬆探索到內部,甚至可以做為疑難排解輔助程式。 第一版的 LiveKd 僅支援 NT 4 和 Windows 2000-LiveKd 2.0 版可在 Windows XP 上運作。

雖然 Microsoft 已遵循我的潛在客戶,並將即時內核偵錯工具新增至 Windows XP,但在即時系統上執行時,有些偵錯工具命令無法運作,這也是為什麼我會遇到更新 LiveKd 以在 Windows XP 上運作的問題。

其中一個範例是! process 或! thread 命令的堆疊輸出。 LiveKd 會顯示完整的核心堆疊,而使用內建的 XP 即時調試功能則沒有。 另一個範例是! stack 命令,您可以使用它來查看執行緒目前的執行位置,以及它們可能已開始執行的位置。 當您要對涉及系統執行緒的問題進行偵錯工具,並想要判斷其目的-知道執行緒執行所在的驅動程式時,可能是您修正問題所需的線索時,! stack 命令很有用。

下載 LiveKd 2.0 版修補程式,網址為:
http://www.sysinternals.com/insidew2k.shtml
請注意,您將需要一份要套用修補程式之書籍 CD 的 LiveKd 複本。

PSINFO V 1.33 版

PsInfo,其中一項工具可讓您從遠端支援 PsTools 的命令列套件,Windows NT/2000/XP 系統管理工具,並根據使用者的意見反應持續演進。 1.33 版新增了列出已安裝的修補程式和應用程式的功能,以及報表標籤、大小以及電腦磁片區的使用量資料。

下載 PsInfo v 1.33 版,網址為
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
下載整個 PsTools 套件,網址為:
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLIST V 1.21

如果您想要使用命令列,或想要取得電腦的進程清單 (本機或遠端) 具有 CPU 使用量資料,則您會對最新版本的 PsList (PsTools suite 的另一個成員)感興趣。 PsList v 1.2 引進命令列參數,在命令視窗中以工作管理員模式執行它,並以可設定的間隔更新,並顯示 CPU 使用率。 另一個新的交換器具有 PsList 使用縮排來顯示處理父子式關聯性,這有時候有助於瞭解您無法識別的進程用途。

下載 PsList v 1.21,網址為
http://www.sysinternals.com/ntw2k/freeware/pslist.shtml
下載整個 PsTools 套件,網址為:
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V3。0

管理一個以上的系統,通常表示必須處理使用便箋或開啟系統資訊公用程式來判斷系統規格和設定的干擾。 BgInfo 是一種公用程式,可顯示您在桌面上指定的標準和自訂系統資訊,讓您一眼就能看到您認為重要的所有資料。

BgInfo 已經有多種用途,可讓您指定任何一組預先定義的值,或直接 BgInfo,從登錄或檔案取得值。 BgInfo v3.0 藉由引進 Visual Basic 腳本的支援來新增更多自訂功能,讓您可以製作可捕獲自訂設定的腳本,並將它們回報給 BgInfo 進行簡報。

下載 BgInfo v3.0,網址為
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

PAGEDEFRAG 2。2

您是否發現您的分頁檔、登錄檔或事件記錄檔變得越來越多? 內建的磁碟重組工具不會處理這些檔案,因為它們必須在作業系統執行之前的開機時間進行磁碟重組。 PageDefrag 是輕量磁碟重組工具,具有單一用途來重組這些重要的系統檔案。

PageDefrag 2.2 版包含 Windows XP 支援,可讓您指定 PageDefrag 在磁碟重組之前顯示的倒數計時計時器。 計時器的運作方式就像是一個 chkdsk 執行的情況,其中在倒數計時期間按下任何鍵時,會中止重組。

下載 PageDefrag v1.0,網址為
http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml

適用于 WIN64/ITANIUM 的 REGMON V 4.34

去年,Microsoft 會促使我的 Itanium 系統,讓我能夠將 Sysinternals 工具移植到 Win64。 並非所有工具都需要移植,因為大部分的32位應用程式在執行 Windows XP 64 位版本的 itanium 上執行時,不會變更,而是使用 itanium 的32位二進位相容性支援。 不過,Windows XP 64 位版本不會載入32位驅動程式,這表示任何具有驅動程式元件的 Sysinternals 工具至少必須將驅動程式移植到64位。

我所移植的第一個公用程式是 Filemon。 Filemon 的埠相當簡單,因為它只需要變更驅動程式和 GUI 來源以符合64位的資料類型規則,然後重新編譯。 我 decribed 最後一份電子報中的移植程式。 Regmon 的埠包含相同的資料類型問題,但還包含其他問題,使其更難移植。

Regmon 依賴的驅動程式會使用 Regmon 攔截常式修補核心中的系統呼叫資料表,讓它可以監視登錄活動。 為了縮短故事,Itanium 上的系統呼叫介面具有處理器相依特性,讓我在32位驅動程式中使用的方法無法使用。 因此,我必須使用一些難以撰寫的程式碼,以在64位 XP 上使用系統呼叫攔截。

幸運的是,Microsoft 已在 Windows .net Server 核心中實行登錄活動回呼介面,讓 Regmon 用來監看登錄活動不必要的技巧。 在不久的將來尋找 Regmon 更新,以示範新的 Windows .net Server API 和電子報中的 API 描述。

下載 Regmon v 4.34,網址為
http://www.sysinternals.com/ntw2k/source/regmon.shtml

PC WORLD 雜誌 SYSINTERNALS

Regmon 和 Filemon 在8月的電腦世界問題(高隨用的電腦雜誌)中,都有很棒的問題,作為建議的疑難排解工具。 Read more at http://www.pcworld.com/features/article/0,aid,101750,00.asp

SYSINTERNALS AT WWW.MICROSOFT.COM

以下是 Microsoft 知識庫中 Sysinternals 參考的最新內容, (KB) 自從上次電子報以來發行的文章。 這會將 Sysinternals 的知識庫參考總數帶到38。

  • 如何:在 Windows 2000 中建立自訂系統管理範本
    http://support.microsoft.com/default.aspx?scid=kb;EN-US; q323639

  • 如果未授與 Oplock 給原則檔,則會對低速連結進行登入延遲
    http://support.microsoft.com/default.aspx?scid=kb;EN-US; q319440

  • XCON: MTA 進程正在使用高度的控制碼計數來流失記憶體 http://support.microsoft.com/default.aspx?scid=kb ;EN-US; q313735

此外,Microsoft 已將 Sysinternals 視為目前精選 Windows XP Embedded 社區網站! 退房 http://www.microsoft.com/windows/embedded/community/default.asp

內部資訊

MARK 和 DAVID 在倫敦的內部教授

聽聽我和 David 索羅門群島在23-25 年9月的倫敦展示了3天的 Windows 2000/XP/.net Server 內部類別 (下一個類別是德克薩斯州奧斯丁) 的12月9-11 日。 根據「在 Windows 2000,第三版」中,它涵蓋了 & 關鍵系統元件機制的核心架構相互關係 & ,例如系統執行緒、系統呼叫分派、中斷處理、 & 啟動 & 關機。 其中所述主要子系統的本質包括處理 & 執行緒、執行緒排程、記憶體管理、安全性、i/o 系統、NTFS 和快取管理員。 藉由瞭解 OS 的內部運作方式,您可以更有效地利用平臺,並更有效地進行疑難排解並針對問題進行疑難排解。

如需詳細資訊,請參閱<http://www.sysinternals.com/seminar.shtml>。

在 WINDOWS NT 開發中

這份簡報是幾年前的,但在 Windows NT 3.1 到 Windows 2000 的開發歷程記錄中,是一種有趣的探討。 Mark Lucovsky,這是其中一個原始的 NT 軟體工程師,在2000年的 USENIX 年度技術研討會提供簡報。 他將描述開發小組的規模、其所撰寫程式碼 (的瑕疵費率,而不是) 、原始檔控制系統和小組開發挑戰的成員。

請參閱 Mark Lucovsky 對 NT 開發歷程記錄的討論 http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/

在相關的附注中,以下是從視窗1.0 到 Windows .net Server 的 Windows >microsoft 記錄:http://www.microsoft.com/windows/WinHistoryIntro.asp

變更未計數時

Windows 會持續追蹤檔案和目錄的數個時間戳記。 其中包括建立、上次存取和上次修改。 上次修改的時間戳記記錄為上次寫入檔案的時間。 可惜的是,依賴這項條件的應用程式將會出現很討厭的意外。

如果應用程式使用 CreateFile API 開啟檔案,然後透過 WriteFile 或其變體寫入至該檔案,則上次修改時間會反映檔案最近修改的時間。 如果應用程式使用和來開啟記憶體對應 i/o 的檔案 CreateFileMappingMapViewOfFile ,然後藉由變更對應的內容來修改檔案,記憶體管理員最後會將資料寫回至檔案,並修改磁片上的版本。 問題在於,檔案系統驅動程式不會在因記憶體對應寫入而發生修改時,更新檔案的上次修改時間。

為什麼不用? 我假設開發人員將角落剪下了效能,但是不會記載該行為,所以我只能 speculate。 我猜測所有寫入都不會建立相等的。

.NET SERVER RC 1

Windows .net Server RC 1 已出貨,而且 Microsoft 可能會在一年結束時,將它的 RTM (發行至製造) 新伺服器作業系統的製造, (蛇和鯊魚在同一年) 中的機會。 從核心觀點來看,Windows XP 並沒有明顯的變更。 沒有任何主要的新核心子系統(Win32 或核心 Api)-只需要調整以增強大型系統的效能,以及一些將現有 API 集合四捨五入的 Api。

不過,在使用者空間中有很大的變更。 .NET framework 當然是最大的,但也有新的伺服器導向服務。 磁片區陰影複製服務(在 Windows XP for backup 中引進)是用來提供用戶端使用者將伺服器共用上的檔案復原到先前版本的功能。 不需要系統管理員互動,因為使用者可以直接在新的 [Explorer 檔內容] 索引標籤所顯示的 [檔案歷程記錄] 清單中選取所需的專案。

伺服器網路增強功能是 Winsock Direct,這是一種基礎結構,可讓應用程式在具有特製化網路互連的多層式設定中的伺服器上進行應用程式、稱為系統區域網路 (SAN) 的設定,以直接與網路硬體通訊,略過 TCP/IP 堆疊和核心。

查看即將推出的文章 David 索羅門群島,以及描述 .NET Server 系統層級變更的文章。 我們也會在 Windows 2000 內的下一個修訂版中涵蓋 .net Server,以 Windows 內部發行,因為發行下一個彈簧。

WMI 腳本的載入

如果您喜歡 Sysinternals 的 PsTools suite,則可能是腳本 junky,如果您的系統執行 Windows 2000 或 XP,或是安裝了 NT 4 WMI core 元件,則您應該前往 Microsoft 的 TechNet 網站,並取得他們張貼在那裡的免費 wmi 範例腳本。 其中有一個龐大的集合,它們分成不同的類別,像是電腦管理和網路功能,您可以一次個別下載。

在 tcenter/sampscr 取得免費的範例 WMI 腳本 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scrip

說到 Microsoft 的 freebies,您可以找到已張貼以供下載的 Windows 2000 資源套件工具的子集。 瀏覽 http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp

使用 BOOTVIS 來分析開機進程

我會定期取得開發工具以進行 Sysinternals 的工具,以監視開機程式,讓使用者可以判斷導致可能發生延遲的原因。 幸運的是,我的等候時間夠長,讓 Microsoft 幫我。 他們所撰寫的工具稱為 BootVis,它在針對 Windows XP 所執行的開機效能優化中提供重要的角色。 您可以從下載 http://www.microsoft.com/HWDEV/PLATFORM/performance/fastboot/BootVis.asp 。 BootVis 只會在 Windows xp 上執行,它會使用 XP 的 WMI 核心追蹤功能來收集開機進程的詳細追蹤,包括 CPU 使用量、磁片 i/o、進程啟動和驅動程式 i/o。 呼叫 BootVis 簡易隨附的說明檔正在進行,所以我將逐步解說如何使用此工具。

如果您想要能夠精確查看驅動程式和模組的 CPU 時間的功能,請開啟 [工具] |安裝 Windows XP 符號的 [選項] 對話方塊和 [點 BootVis]。 接下來,BootVis 由選取 [追蹤] 來捕捉下一次開機的追蹤,包括驅動程式延遲下次開機 + 驅動程式延遲。 BootVis 將會倒數計時,然後重新開機您的系統。

系統啟動登入並再次執行 BootVis 之後。 選取追蹤 |停止追蹤,它會將從核心收集的追蹤解壓縮,然後將它儲存至檔案,然後載入以供顯示。 您會看到四個圖表。 在 [Cpu 使用量] 中,您會看到透過開機耗用多少 CPU 處理的進度。 磁片 i/o 橫條圖顯示 (紅色) 的磁片讀取次數,以及每秒發生的寫入 (blue) 。 在 [驅動程式延遲] 圖形中,您會看到代表驅動程式 i/o 的矩形,其持續時間大於預設的 BootVis 截止時間100毫秒-這類延遲會視為重大。 最後,此程式會建立圖表,顯示已標示為已啟動進程的矩形。

當您啟動 BootVis 時,不一定會顯示所有收集到的追蹤資料,因此請使用 [放大] 按鈕,直到您開始看到圖形化資料的右邊緣為止。 現在來看看每一個圖形。 如果您看到 CPU 或磁片尖峰,或想要放大進程啟動活動,請使用 [放大] 工具列按鈕。 請注意,當您放大時,所顯示的開始時間會維持為0,因此在您手動縮放之後,請在 [顯示時間] 編輯方塊感興趣的活動附近輸入時間。

CPU 使用量、磁片 i/o 和驅動程式延遲圖形可讓您查看比立即可見更多的資訊。 移動游標、按下滑鼠左鍵,然後按住滑鼠按鍵,然後拖曳,以在感興趣的圖表中選取區域。 然後按一下滑鼠右鍵以取得功能表。 [CPU 使用量] 圖形中的 [有趣的功能表] 選項是 [摘要],它會開啟一個對話方塊,其中列出所選時間間隔內 CPU 使用量的明細。 如果您按兩下其中一個進程,另一個對話方塊隨即開啟,其中會顯示依模組 (的 CPU 使用量細目,例如,進程中的 Dll) 。 如果您已設定符號,您甚至可以按兩下模組,並取得對話方塊來顯示該模組的 CPU 使用量的明細(依函數)。

當您以滑鼠右鍵按一下磁片 i/o 圖表中選取的區域時,會出現兩個功能表項目:顯示摘要資料表並顯示詳細資料 Graph。 選取 [顯示摘要資料表],以查看間隔期間發生之所有 i/o 的會計(依模組細分)。 選擇 [顯示詳細資料] Graph,以顯示代表在該間隔記憶體取之磁片內實際磁區的折線圖。 詳細資料圖形甚至會將 i/o 與執行它們的進程產生關聯,並可讓您在左邊的清單中取消選擇以篩選掉進程。 您可以在詳細資料圖形中選取區域,並以滑鼠右鍵按一下並選取產生的功能表項目,以存取該 subinterval 的另一個摘要圖表。

從驅動程式延遲圖形的內容功能表中選擇 [顯示摘要資料表],會顯示所選區域中所顯示的 i/o 清單,其中包含執行 i/o 的驅動程式名稱、每個 i/o 的開始、結束和總時間,以及執行的 i/o 函數。

這會帶您前往 BootVis 教學課程的結尾。 雖然這不是最完美的工具,但在使用 BootVis 之後,您也不一定會同意我的圖形可看到的詳細資料層級很令人驚訝。 當您下一次有很長的開機,而且想要知道有何責任,您就會知道要在何處提供解答。

即將推出的內容

損毀傾印分析的快速簡介

Microsoft 最近的核心偵錯工具增強功能使得損毀傾印分析幾乎很簡單。 下一次我將示範如何在一小時內成為傾印分析 pro。


感謝您閱讀 Sysinternals 電子報。

依 ottoh 在2002年8月12日星期一的 7:00 PM 發行

[電子報封存 ^][ 磁片區4,數位 1][磁片區4,數位 3 ]

[電子報封存 ^][ 磁片區4,數位 1][磁片區4,數位 3 ]

系統內部電子報第4篇,第2號

http://www.sysinternals.com
著作權 (C) 2002 Mark Russinovich