疑難排解與修復:省電,加速
確保應用程式載入有效地執行,可以節省您在基礎結構作業耗費的時間與金錢。
Wes Miller
有很多保持未世界的相關問題。 實際工時大腦如何? 誰建置在金字塔 — 以及如何? 什麼 ’s 與 platypus 大? 為什麼我的電腦執行速度慢,所以? 大腦、 金字塔和 platypus 可能會保留 mysteries,但是 let’s 挖到電腦為何如此緩慢。
金錢成本效率不佳的軟體的電腦。 這些成本來自於降低的使用者產能、 增加的電源消耗、 降低的電池壽命、 熱 wear 及 tear、 磁碟失敗等等。 略過有問題的軟體永遠不會運作,它通常會導致較大成本和時間方面的問題。
當 Microsoft 推出 Windows XP 時,它會花費公平的量的時間會確保 Windows 通知區域 (什麼許多人呼叫 「 系統匣 」) 有可管理的使用者介面。 不幸的是,這麼多的軟體開發人員會誤用它 wasn’t 典型看到新的電腦,有超過 10 個在登入時執行的通知區域中的圖示。
一切都有一個成本 — 和那些應用程式,在通知區域中的每個已超出只是桌面的房地產的成本。 每一個代表至少一個執行中的應用程式。 與每個版本的 Windows 中新增更多比前一版的服務。 在簡單的說 ’s 很多東西在您的電腦上執行,不論它是來自一個的 OEM 標準的公司桌面映像,或是否您自行安裝 Windows。
速度更快、 更快
除了 「 為什麼 won’t Windows 啟動? 」,我取得要求較常見的問題之一是,「 什麼進行這個因此較慢的電腦以及如何解決它? 」
如果您使用相同的映像 (尤其是唯一一個正呈現徵狀) 開始的兩部電腦永遠 ’s 有趣的起始點來比較兩個系統,以判斷它們之間的差異。 執行我們下面討論的工具通常可以協助您找出問題的程序更加容易。
如果您的電腦上考慮資源,simplistically 有四種會影響整體的能力來完成工作的資源:
1. 記憶體 (RAM)
2. CPU
3. 磁碟 I/O
4. 網路 I/O
若要可協助您執行這項程序,我會相當有點使用 Sysinternals 套件。 如果它有 let’s 取得啟動。 如果您 don’t — 獲得 Windows Sysinternals 下載網頁 。
我們開始之前先 let’s 取得什麼電腦上正在執行的基礎。 Sysinternals] 工具有兩個選項。 兩者都取決於您要如何檢視的資訊及您需要診斷您是相對於電腦的位置。
依處理序的處理序
第一個選項是處理序總管 (Procexp.exe),這是和遠,更強大的兩個選項,但它只執行本機 ([下一個] 工具與我們一點時間中看到)。 程序檔案總管可以將最能想像成強大的取代 Windows 工作管理員。 它可以讓您一眼看到所有相當多的詳細資料在系統上執行的處理序,是否它們 ’re 您自己或的另一個登入的使用者 (如果您使用快速切換使用者功能] 或 [終端機服務/遠端桌面)。
我們開始之前先確定您藉由啟動它使用檔案與所有可見的處理序執行 Procexp | 顯示詳細資料] (如果您以啟用 UAC 執行 Windows 會提示您) 的所有處理序。
藉由排序處理程序資料行,您可以指定是否以遞增或遞減順序,或根據哪些應用程式啟動每一個處理程序樹狀目錄中,處理程序應該會列出。 記住,處理序可以啟動、 啟動另一個應用程式並結束熊 — 離開假的印象,以何種程序真的啟動子系。
若要查看哪些處理程序正在最多 CPU 時間最簡單的方法是停留在 [CPU] 圖形。 它會告訴您它是何種處理程序。 就可以使用 Ctrl + F 來尋找處理序。
我要求所有時間的另一個問題是,「 什麼是系統閒置處理序和原因它使用所有 CPU 我電腦上嗎? 」它不使用它。 該處理程序可以最被視為一個版面配置區的未使用的 CPU 時間。 它 ’s 不甚至真的實際的程序。 如果您所 haven’t 您可能會想要讀取 「 Windows 內部 」 (Microsoft 按,2009年) 的增強式的基礎上 Windows 內部的基本原則。
有兩個選項:
- 檢視 | 更新速度可讓您變更頻率 Procexp 會變更以反映 (也就是相當瞬間) 的更新 UI。
- 如果您監看的高的 CPU 使用量程序以特殊至最上層,請按您的空格鍵。 Procexp 會停止更新 UI 完全,讓您看到可疑的處理程序。
您可以很輕鬆地在這種方式中的高記憶體消耗處理程序來公開。 如果您 don’t 依名稱識別處理程序,(因為您可能不如果它 ’s 惡意程式碼),選取處理序],然後按一下 [處理序 | 視窗會識別應用程式,如果有任何公開使用者介面。 服務有沒有的使用者介面和應用程式可以選擇不到 (為真的應該是服務某些舊版應用程式傾向於執行)。
服務和保護
此診斷程序適用於使用者的內容,但內容中執行的服務或驅動程式的相關的應用程式? 服務可以隔離,較為困難,因為有 ’s 日益增加的傾向以一個 「 共用處理程序 」 執行它們來節省資源,並增加安全性。
Windows 提供內建的方法來執行這項目,使用服務,呼叫的 svchost.exe (注意很幾個這些上與 Windows XP 任何 Windows 系統開始)。 多個是內建的 Windows 服務,但協力廠商可以使用此基礎結構。 在就其實 ’s 日益增加的傾向使用 svchost 為主機的惡意軟體。
您仍然可以找出 svchost 造成高 CPU 或記憶體使用率的執行的個體。 每個執行個體上連按兩下選取 [服務] 索引標籤,您可以檢視在該共用處理程序中執行,並查看哪一個實際耗用資源的 DLL。
最後,驅動程式呢? don’t 忽略驅動程式為系統效能降低的潛在來源。 他們完成 Windows 中的最低層級工作。 所有往往它們可能會造成問題。
驅動程式通常會負責監看 antimalware,像其他處理程序] 或 [監看檔案或目錄的通知,就像 antimalware 或複寫/同步處理。 它 ’s 所有太容易撰寫異常的驅動程式或只能在另一個驅動程式的出現 misbehaves 的驅動程式。 ’s 差,因為它更難 ’s 診斷。
所以驅動程式居住? 就像在 svchost.exe 中裝載的服務驅動程式也執行共用的程序。 如果您按兩下 [系統] 程序,並在 [執行緒] 索引標籤上按一下即可查看其載入的執行緒堆疊。 您會看到許多驅動程式 (*.sys 檔案) 載入這裡。
為個別的處理程序] 檢視與您可以排序它們 CPU 時間。 如此一來,會公開執行緒特定的驅動程式執行時,會花很長的 CPU 時間。 然後您可以搜尋您系統中的驅動程式、 搜尋網際網路,或請連絡廠商以了解,如果他們 ’re 注意的問題,或如果有 ’s 較新版的驅動程式軟體。
如果您從遠端連線到您想要診斷的電腦,您可以透過的網路連線,但您 can’t 與 TS/遠端桌面連線]。 然後它會以救 ’s PsTools。 您有用 PsList 這裡。 PsList,做為名稱就暗示,(包含在 Sysinternals 套件) 一個列出所有處理程序的命令列 PsTool 本機或遠端電腦上執行。
所有的 PsTools 像您可以執行遠端經由 [檔案及印表機共用,只要啟用它,並以本機 「 系統管理員 」 群組的成員擁有認證。 與 Procexp,您可以看到執行 PsList 時執行的所有處理序的清單。 您尋找 PsTools 所提供的資訊更受限制,但是在這個位置類似的情況下,您診斷問題的程序、 ’s 通常資訊不足,無法完成工作。
若要對本機電腦,請執行 PsList,只執行 PsList.exe。 –t 參數可讓您檢視在樹狀結構檢視類似於 Procexp。 新增 –s (以秒為單位的時間間隔) 將會在您所定義的間隔 autopoll。 這是 Procexp 的相反] 中您可以選擇從預設值重新整理變慢。 所有 PsTools 都有類似的遠端使用,如此處所示:
PsTool.exe \\systemname -u username –p password
您可以刪除本機電腦上的處理序使用 Procexp (但請小心 — 殺隨機的處理程序可能會造成系統損毀或軟體失敗),但不是 PsList。 您也可以使用 PsKill 來刪除處理序的 [處理序識別碼] (PID) 」 或 「 依名稱 (它會殺了具有相同名稱的所有處理程序),甚至從遠端。
診斷磁碟 I/O 問題 (特別是使您的系統不斷地搜尋硬碟上的資料的應用) 是複雜,而且在某些情況下可能很難完全診斷。 但是,執行處理序監視器 (Procmon.exe) 可以經常迅速公開服務或應用程式讀取或寫入到硬碟的次數太頻繁。 許多應用程式都可能會有正當理由消耗磁碟 I/O,例如本機搜尋公用程式,實際上是多磁碟 I/O 浪費上重複的工作可能是可以更好的方式來處理。
當您識別處理程序看起來好像它讀取或寫入往往時,您可以停止執行 Procmon、 切換回透過 Procexp 並使用 Ctrl + F 來尋找相同的程序。 務必如果您搜尋的名稱,以確認它 ’s 相同的 PID。 某些程序如 explorer.exe 和 svchost.exe,將會有多個執行個體。 一旦您識別處理程序耗用的磁碟 I/O,您可以連絡廠商,並查看是否 ’s 任何更新。
進行網路通訊時,TCPView 是另一個 Sysinternals 工具,以判定連線到網路輸入或輸出,包括連接埠資訊的程序。 您也可以使用 Procmon,因為它會顯示您網路連線能力也。 最重要的是它會公開高速率的即時網路通訊發生時。 類似於磁碟 I/O,透過跳頻 Procexp 到可讓您執行更深層的診斷時仍看到網路活動 (每個處理序的 TCP/IP 索引標籤)。
站單獨
這些方法依賴您有某些系統,但要是您 don’t 的連線嗎? 如果它 ’s 同層級 ’s 系統,和她居住數千個英哩離開嗎? ’s 實際上比您想像容易的。 第一次,有遠端下載 Sysinternals 工具的人。 它們 ’re 使用所有簡單,特別是,我們使用它們的方法。
她擁有下載工具後, 必須執行 AutoRuns 她。 這可讓她您提供所有 *.arn 檔案形式的她系統上執行的可執行檔的快照集 — 檔案類型標記 Russinovich 明確地開發這項工作來啟用遠端 autostarts 分析。
使用她以系統管理員身分登入有她為您產生 ARN 檔,藉由按一下 [檔案] | 儲存。 我們為什麼沒有擷取 ARN 檔案? ’s 最好的方法,來決定哪些啟動處理序。
是否在本機或遠端連線,您找出完全什麼啟動每一個的應用程式,以及有哪些服務或其他 「 AutoStarts 」 正在執行您可能不知道相關的電腦上。 AutoRuns 有很多的類別 autostarted 的項目。 針對本練習,最有趣可能是登入、 服務和驅動程式的項目。
一旦 AutoRuns 已完全填入 UI,選取項目 | 隱藏 Microsoft 和 Windows 的項目。 按 F5 鍵和您請參閱非 Microsoft 的項目。 這通常是啟動診斷可疑的服務或應用程式從遠端系統的好方法。
接下來,已為您執行 Procexp 她。 身為系統管理員,就也執行這並選取 [檔案] | 存新檔],將詳細的樹狀目錄檢視儲存為文字檔案。
然後讓她 Procmon 執行一段時間,她的系統時 「 徵兆 」。實際上,您查看少於五分鐘此處診斷。
最後,有她 ARN]、 [處理程序樹狀目錄] 和 [Procmon 記錄檔傳送給您。 Procmon 檔案一定會太大,無法透過電子郵件傳送。 使用共用的檔案傳輸的工具,例如投寄箱。
一旦檔案會有大部分的資訊,我們用來診斷您本機的效能降低的情形。 採取 Procmon ’s 記錄檔 (這樣會提供大部份的資訊,並以最簡單的方式篩選向下) 和 Procexp ’s 程序樹狀目錄,您可以發現發生錯誤之只要輕鬆在本機遠端的案例中。
診斷問題的應用程式在 Windows isn’t 不可能的。 的 Windows 偵錯工具 和練習幾在 Sysinternals 工具您很快就會診斷問題深 Windows 內。 您儲存能源的時間,並可能甚至您的例行性。
Wes Miller 是在 CoreTrace (CoreTrace.com) 在德州奧斯丁中的產品管理的指導。 他之前任職於 Winternals Software,並且曾在 Microsoft 擔任專案經理一職。 wm@getwired.com 可以被連線到 Miller。