【轉貼】Windows Defender 可以顯著影響 Intel CPU 性能

來自TechPowerUp的文章:
原文出處
Windows Defender 可以顯著影響 Intel CPU 性能,我們有修復
獨家 由 btarunr 昨天, 23:52 討論 (76 評論)
Kevin Glynn,又名“Uncle Webb”,我們的助理軟體作者,在 ThrottleStop 和 RealTemp 等流行工具的幕後推手,開發了一個名為 Counter Control 的新實用程式,可讓您監控和記錄自 2008 年以來英特爾酷睿處理器的性能計數器(酷睿“Nehalem”)。在 ThrottleStop 的開發過程中,Kevin 發現了 Windows Defender 的一個令人著迷的錯誤,Windows Defender 是 Windows 的內置安全軟體,它對處理器的性能影響明顯高於正常水準。當然,安全軟體在即時保護期間必然會產生一些(小的)性能影響,但這要大得多。正在發生的事情的第一個跡象是,當CPU滿載時,HWiNFO將報告降低的“有效時鐘”速度。一個更大的問題是,當Defender受到錯誤的影響時,你的機器的性能將大大降低。例如,以5.00 GHz全核運行的Core i9-10850K會損失1000個Cinebench點(或6%)。英特爾酷睿8,第9代,第10代和第11代的所有者已經報告了這種性能損失,包括Windows 10和Windows 11上的台式機和移動CPU。AMD 處理器不受影響。

造成如此高性能損失的根本問題是,Windows Defender 將隨機開始使用英特爾酷睿處理器提供的所有七個硬體性能計數器,其中包括三個固定功能計數器。這些計數器中的每一個都可以在以下四種模式之一中進行程式設計,以配置它計數的許可權級別:禁用、操作系統(ring-0)、使用者(ring>0)和 All-Ring 級別。由於這些計數器是共用資源,因此多個程式可能希望同時訪問這些計數器。

【轉貼】Windows Defender 可以顯著影響 Intel CPU 性能

流行的系統實用程式,如HWiNFO,OCCT,Core Temp和FattleeStop,都將這些計數器設置為“模式3”或“全環級別”。由於它們都設置了相同的模式,因此多個程式使用相同的計數器沒有問題。另一方面,Windows Defender會將這些計數器設置為“模式2”,看起來像隨機間隔,用於隨機持續時間。這可能在電腦首次啟動時發生,也可能在此之後的任何時間發生。當 Windows Defender 在後台運行時,它可以隨時啟動和停止或連續嘗試將這些計數器更改為模式 2。只是為了澄清,即使沒有任何監控軟體運行,性能也會下降 - Defender仍將使用過多的CPU時間。

【轉貼】Windows Defender 可以顯著影響 Intel CPU 性能

問題不在於 Intel 硬體,因為手動設置與 Windows Defender 相同的計時器不會對性能產生負面影響。此外,如果這些計數器被手動覆蓋,Defender 會檢測到這一點,立即停止它正在執行的任何操作,並且性能恢復正常,而不會對實時檢測病毒的能力產生任何負面影響。我們的計數器控制軟體監控並記錄位於 MSR 0x38D的英特爾酷睿處理器的“IA32_FIXED_CTR_CTRL”寄存器。該寄存器提供對前面提到的三個固定功能性能監視計數器的訪問。計數器控制將通知使用者是否有任何軟體正在使用英特爾固定功能計數器,以及它們已使用多長時間。計數器控件報告的典型值如下所示:

計數器下載


未使用 - 0x000:三個固定函數計數器已停止。目前沒有使用任何計數器。
後衛 - 0x222:所有三個固定功能計數器都程式設計為模式2。這是 Windows Defender 在使用這些計數器時將其設置為的值。
正常 - 0x330:兩個計數器被程式設計為模式3。一個計數器被程式設計為模式0,但未被使用。這是正常的。使用這些計數器的大多數監視程式會將計數器控制寄存器程式程式設計為此值。
警告 - 0x332:當監視軟體正常使用兩個計數器,而第三個計數器已設置為模式 2(可能由 Windows Defender 使用)時,將顯示此項。這是一個警告,指出兩個不同的程式可能正在為共用計數器的控制權而爭吵。您可能會看到計數器控制寄存器在0x222和0x332之間不斷變化。這是您在運行 HWiNFO 時看到的,如果 Windows Defender 嘗試同時使用IA32_FIXED函數計數器。

如果您的系統似乎受到影響,顯示“Defender”讀數,那麼快速解決方法是按兩下計數器控制中的“重置計數器”按鈕。通過按下按鈕,一個計時器將被重新程式設計為模式3,這將被Defender檢測到,Defender將停止執行其操作並恢復性能。請使用基準測試進行驗證。有兩種方法可以永久緩解這種性能損失。您可以禁用Windows Defender實時監控,由於存在安全隱患,強烈建議不要這樣做。或者您可以使用最新版本的 ThrottleStop,它在“選項”視窗中有一個名為“Windows Defender Boost”的功能。勾選此選項可確保在所有應用程式中實現最佳性能和準確的核心有效時鐘監視,無論是否啟用了 Windows Defender 實時保護。為了實現這一目標,ThrottleStop會立即啟動其中一個可程式設計計時器。當 Windows Defender 檢測到某些使用者軟體正在嘗試使用其中一個可程式設計計數器時,它會停止使用所有計數器,並且只要該計數器保持啟用狀態,就會將它們單獨保留。這將使性能恢復正常。計數器控制中的「重置」按鈕也執行相同的操作,併為使用者提供了一種僅啟動此機制的方法,而無需啟動 ThrottleStop。只是為了澄清,Windows Defender將繼續正常工作。它仍然可以檢測並通知使用者任何病毒。當啟動一次時,使用“Windows Defender Boost”選項,ThrottleStop將允許計時器在模式3中運行,即使在關閉時也是如此。這意味著您可以在啟動時啟動 ThrottleStop 一次,然後立即將其關閉,您的系統將受到保護,免受 Defender 性能問題的影響。

如果未選中「Windows Defender Boost」,則計數器最初將被清除。這將停止窗口防禦器演算法,但 ThrottleStop 將不再嘗試在使用 ThrottleStop 時保持一個計數器運行,並且在退出 ThrottleStop 後不會保持該計數器運行。這允許一個人使用 ThrottleStop,而不必擔心 ThrottleStop 可能對 Windows Defender 執行一些它不應該做的事情。在 ThrottleStop 啟動後,如果未使用該計時器,則在 10 分鐘左右後,Windows Defender 將檢查該計時器,查看它未被使用,並能夠再次啟動其神秘的性能消耗演算法。

在本文的評論中讓我們知道您的經驗。看看這個問題有多普遍會很有趣,我們已經確認(TPU的線程,OCN的線程)它最近幾個月在許多系統上發生。如果我們發出足夠的噪音,我相信微軟會研究為什麼他們在Defender中需要那麼多計時器,為什麼會有這麼大的性能影響,並相應地修復它。

與往常一樣,請在評論中告訴我們您的想法和問題。如果您不瞭解某些技術細節,也請告訴我們,以便我們可以改進此文章。
2022-06-28 16:04 發佈
devis592 wrote:
來自TechPowe...(恕刪)


文章實用
但引述者翻譯的寫作技巧不算及格
devis592
devis592 樓主

google翻譯不佳~建議看原文[萌]

2022-06-30 0:45
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?