如果你的系統因Microsoft Defender防毒軟體 (反惡意軟體服務執行檔、MsMpEng.exe Microsoft Defender防毒) 而出現高 CPU 使用率或效能問題,
作為管理員,你也可以自行排查這些問題。
首先,你可能要檢查是否有其他軟體造成問題。 請閱讀向廠商確認防毒軟體排除項目的已知問題。
必要條件
支援的作業系統
- Windows
- Windows 伺服器
Microsoft Defender 防毒軟體 CPU 使用率較高的常見原因
| 原因 | 解決方案 |
|---|---|
1. 未簽署的二進位檔(.exe、.dll 等等)每當啟動/執行二進位檔(例如 .exe、.dll 等)時,如果該檔案未經數位簽署,Microsoft Defender 防毒軟體就會開始進行即時保護掃描;或者在您執行排程掃描和/或隨選掃描時,也會進行掃描。 |
你應該考慮用內部 PKI 簽署這些二進位檔。 或者聯絡供應商,讓他們簽署二進位檔案。 並將憑證新增到 指標-憑證-允許 我們建議軟體廠商遵循與產業合作的各種指引 ,以減少誤判。 軟體供應商或軟體開發者可以在 Microsoft 安全情報入口網站提交應用程式、服務或腳本。 作為解決方法,你可以遵循以下步驟: 1. (優先) 對於 .exe 和 dll,請使用 指示器 – 檔案雜湊值 - 允許 2.(替代方案)新增 防毒排除項目(程序 + 路徑)。 |
| 2. 使用HTA、CHM及其他檔案作為資料庫。 當 Microsoft Defender 防毒軟體必須解壓和/或掃描複雜檔案格式時,CPU 使用率可能會提高。 |
如果你需要儲存資訊並查詢,可以考慮改用真正的資料庫。 作為權宜措施,請新增 防毒軟體排除項目(程序 + 路徑)。 |
| 3. 對指令碼進行混淆處理。 如果你混淆腳本,Microsoft Defender 防毒軟體會檢查腳本是否包含惡意載荷,掃描時會消耗更多 CPU 資源。 |
僅在必要時才使用指令碼混淆。 作為權宜措施,請新增 防毒軟體排除項目(程序 + 路徑)。 |
| 4. 密封映像前,不讓 Microsoft Defender 防毒軟體快取完成。 | 如果您正在建立 VDI 映像 (例如非持續性映像),請務必在密封映像前完成快取維護。 欲了解更多資訊,請參閱「在遠端桌面或虛擬桌面基礎設施環境中配置 Microsoft Defender 防毒軟體」。 |
| 5. 拼字錯誤的排除項目。 |
用 MpCmdRun.exe -CheckExclusion -Path <PathAndFile or Path> 來驗證基於路徑的排除。 欲了解更多資訊,請參閱「 使用 MpCmdRun 驗證檔案或資料夾是否被排除」。 |
| 6. 新增路徑排除項目時,會套用至掃描流程。 行為監控 (BM) 與網路即時檢查 (NRI) 仍可能造成效能問題。 |
作為一個變通方法,可以採取以下步驟: 1. (優先) 對於 .exe 和 .dll,請使用 指標 – 檔案雜湊 - 允許 或 指標 – 憑證 - 允許 2. (替代方案)新增防毒排除項目(程序 + 路徑)。 |
| 7. 檔案雜湊計算。 如果你啟用檔案雜湊計算(用於 檔案指示器),效能負擔會增加。 例如,將大型檔案從網路共享複製到本地裝置,尤其是透過 VPN 連線,可能會影響裝置效能。 |
這時你和你的領導團隊必須做出決定,是要加強安全性還是降低 CPU 使用率。 一個可能的解決方案是停用檔案雜湊計算功能。 前往電腦設定>管理範本>Windows 組件>Microsoft Defender 防毒>MpEngine,然後啟用檔案雜湊計算功能。 注意:要啟用指示器-檔案雜湊功能,必須啟用此功能。 |
幫助判斷哪個元件可能導致 CPU 使用率上升
| 元件 | 解決方案 |
|---|---|
| 即時保護 (RTP) 掃描 | 你可以使用 故障排除模式 來關閉 防拆保護。 一旦關閉了防震功能,你可以暫時關閉「即時保護」,以排除這個問題。 請參閱前一節,Microsoft Defender 防毒軟體 CPU 使用率較高的常見原因。 |
| 已排程的掃描 | 檢查你的預設排程掃描設定 一般的排程掃描設定。 - 設定排程掃描的低 CPU 優先權 () 使用低 CPU 優先權進行排程掃描。 Windows 中正常掃描的執行緒優先權有兩個值: 8 (較低) 與 9 (較高的) 。 將此設定為 enabled,會降低排程掃描執行緒的優先權,從 9 降至 8,這讓其他應用程式執行緒能以較高優先權執行,從而獲得比 Microsoft Defender 防毒軟體更多的 CPU 時間。 - 指定掃描期間 CPU 使用率的最大百分比(每次掃描的 CPU 使用率上限)。 50 是預設設定;你可以把它降到 20 或 30。 如果你有變更控制視窗,透過修改可用 CPU 的數量,掃描時間會變長。 - 僅在電腦已開啟但未使用時才啟動排程掃描,方法是將 ScanOnlyIfIdle 設為 Not configured(預設為啟用)。 它要求機器處於閒置狀態,也就是說整體 CPU 使用率必須低於 80%。 每日快速掃描設定 - 設定 Specify the interval to run quick scans per day 為 Not configured (下一次快速掃描前已過多少小時 - 0 至 24 小時)- 設定 Specify the time for a daily quick scan (Run daily quick scan at) 為 12 PM。 設定每週排程掃描(快速或完整) - 指定用於排程掃描的掃描類型 (設定 Scan type 為 Not configured) 。 - 指定執行排程掃描的時間點 (設定 Day of week to run scheduled scan 為 Not configured) 。 - 指定執行排程掃描的星期幾 (設定 Time of day to run a scheduled scan 為 Not configured) 。 |
| 在安全情報更新後掃描。 | 預設情況下,Microsoft Defender 防毒軟體會在安全情報更新後進行掃描,以達到最佳防護目的。 如果啟用排程掃描,你可能會以為有些掃描是在排程外執行的。 這時你和你的領導團隊必須做出決定,是要加強安全性還是降低 CPU 使用率。 作為變通方法,在群組原則 (或其他管理工具(如 MDM) )中,進入電腦設定>管理範本>Microsoft Defender防毒>安全智慧匯報,並將安全情報更新後開啟掃描設定為 Disabled。 |
| 與其他安全軟體的衝突 | 如果你有非Microsoft的安全軟體,例如防毒軟體、EDR、資料防護、端點權限管理、VPN 等等,請將該軟體加入Microsoft Defender防毒排除 (路徑 + 程序) ,反之亦然。 欲取得 Microsoft Defender 防毒二進位檔清單,請參閱「配置您的網路環境以確保與 Defender for Endpoint 服務的連結」。 |
| 掃描大量檔案或資料夾 | 如果您的使用者設定檔中有大型檔案,例如 .iso、.vhdx 等,而且這些檔案位於桌面、下載、文件等位置,而該設定檔又被重新導向到網路共用位置,例如離線檔案 (CSC) 或 OneDrive(或類似產品),則掃描可能需要較長時間才能完成。 這是因為你在掃描網路,這裡的延遲比本地儲存在裝置上的檔案還要多。 如果你不需要 .iso/.vhd/.vhdx 等檔案放在你的個人檔案上,請把它移到另一個資料夾,不要放在網路共享 (映射硬碟、UNC 共享、SMB 共享) 。 |
是什麼觸發並導致 Microsoft Defender 防毒軟體 CPU 使用率上升
完成這些步驟後,你可以找出觸發並導致 CPU 使用率較高的原因:
| # | 幫助縮小觸發高 CPU 使用率的因素的工具 | 留言 |
|---|---|---|
| 1 | 收集 Microsoft Defender 防毒軟體診斷資料 | 您在針對 Microsoft Defender 防毒軟體問題進行疑難排解時想要包含的 Microsoft Defender 防毒診斷資料。 |
| 2 | Microsoft Defender 防毒軟體的效能分析工具 | 關於 Microsoft Defender 防毒軟體的效能特定問題,請參見 Microsoft Defender 防毒軟體效能分析器。 這讓你能執行資料收集並解析資料,且易於理解。 注意:收集此資料時,請確保問題確實會重現。 |
| 3 | 使用 Process Monitor 排解 Microsoft Defender 防毒軟體效能問題 | 如果Microsoft Defender防毒效能分析器沒有提供足夠細節來鎖定觸發高 CPU 使用率的原因,你可以使用 ProcMon) (Process Monitor。 提示:您可以持續收集 5 到 10 分鐘。 注意:收集此資料時,請確保問題確實會重現。 |
| 4 | 使用 WPRUI 疑難排解 Microsoft Defender 防毒軟體的效能問題 | 若要進行更進階的故障排除,可以使用 Windows Performance Recorder UI (WPRUI) 或 Windows Performance Recorder (WPR) 。 請注意,由於此追蹤記錄的內容相當冗長,最長應限制在 3 到 5 分鐘。 收集這些資料時,請確保問題確實仍在發生。 |
請向廠商確認防毒產品是否有已知問題
如果你能輕易辨識影響系統效能的軟體,請前往軟體廠商的知識庫或支援中心。 檢查防毒軟體是否有已知的問題。 如果需要,您可以向他們開啟支援票證,並請他們發佈一份。
我們建議軟體廠商遵循與產業合作的各種指引 ,以減少誤判。 廠商可透過 Microsoft 安全情報入口網站提交軟體。