共用方式為


針對 Linux 上的 適用於端點的 Microsoft Defender 效能問題進行疑難解答

想要體驗適用於端點的 Microsoft Defender 嗎? 注册免費試用版。

本檔提供如何使用可用的診斷工具來縮小 Linux 上適用於端點的 Defender 相關效能問題的指示,以瞭解並減輕現有的資源耗用量,以及讓系統進入這類情況的程式。 效能問題主要是由一或多個硬體子系統中的瓶頸所造成,視系統上的資源使用量配置檔而定。 有時候應用程式會對磁碟 I/O 資源敏感,而且可能需要更多 CPU 容量,有時某些組態並不持續,而且可能會觸發太多新進程,並開啟太多檔案描述元。

根據您執行的應用程式和裝置特性,在 Linux 上執行適用於端點的 Defender 時,可能會遇到次佳的效能。 特別是,在短時間內存取許多資源的應用程式或系統進程,例如 CPU、磁碟和記憶體,可能會導致 Linux 上適用於端點的 Defender 效能問題。

警告

開始之前, 請確定裝置上目前未執行其他安全性產品。 多個安全性產品可能會發生衝突,並影響主機效能。

使用即時保護統計數據對效能問題進行疑難解答

適用於:

  • 僅限與防病毒軟體相關的效能問題

RTP) (實時保護是 Linux 上適用於端點的 Defender 功能,可持續監視及保護您的裝置免於遭受威脅。 它包含檔案和進程監視及其他啟發學習法。

下列步驟可用來疑難解答並減輕這些問題:

  1. 使用下列其中一種方法停用即時保護,並觀察效能是否改善。 這種方法有助於縮小 Linux 上適用於端點的 Defender 是否造成效能問題。 如果您的裝置不是由您的組織管理,則可從命令行停用即時保護:

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    如果您的裝置是由您的組織管理,則系統管理員可以使用在 Linux 上設定適用於端點的 Defender 喜好設定中的指示來停用即時保護。

    注意事項

    如果即時保護關閉時效能問題持續發生,問題來源可能是 EDR) 元件 (端點偵測和回應。 在此情況下,請遵循本文使用 適用於端點的 Microsoft Defender Client Analyzer 針對效能問題進行疑難解答一節中的步驟。

  2. 若要尋找觸發最多掃描的應用程式,您可以使用 Linux 上適用於端點的 Defender 所收集的即時統計數據。

    注意事項

    此功能適用於 100.90.70 版或更新版本。

    這項功能預設會在和 InsiderFast 通道上Dogfood啟用。 如果您使用不同的更新通道,可以從命令行啟用此功能:

    mdatp config real-time-protection-statistics --value enabled
    

    這項功能需要啟用即時保護。 若要檢查即時保護的狀態,請執行下列命令:

    mdatp health --field real_time_protection_enabled
    

    確認項目 real_time_protection_enabledtrue。 否則,請執行下列命令加以啟用:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

    若要收集目前的統計數據,請執行:

    mdatp diagnostic real-time-protection-statistics --output json
    

    注意事項

    使用 --output json (記下雙虛線) 可確保輸出格式已準備好進行剖析。

    此命令的輸出會顯示所有進程及其相關聯的掃描活動。

  3. 在 Linux 系統上,使用 命令下載範例 Python 剖析器 high_cpu_parser.py

    wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
    

    此指令輸出應該如下所示:

    --2020-11-14 11:27:27-- https://raw.githubusercontent.com/microsoft.mdatp-xplat/master/linus/diagnostic/high_cpu_parser.py
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.xxx.xxx
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)| 151.101.xxx.xxx| :443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1020 [text/plain]
    Saving to: 'high_cpu_parser.py'
    100%[===========================================>] 1,020    --.-K/s   in 0s
    
  4. 輸入下列命令:

    mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
    

    上述的輸出是效能問題的主要參與者清單。 第一個數據行是 PID) (進程識別碼,第二個數據行是進程名稱,而最後一個數據行是依影響排序的掃描檔案數目。 例如,命令的輸出會如下所示:

    ... > mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py | head
    27432 None 76703
    73467 actool    1249
    73914 xcodebuild 1081
    73873 bash 1050
    27475 None 836
    1    launchd     407
    73468 ibtool     344
    549  telemetryd_v1   325
    4764 None 228
    125  CrashPlanService 164
    

    若要改善 Linux 上適用於端點的 Defender 的效能,請在數據列下 Total files scanned 找出數位最高的 Defender,並為其新增排除專案。 如需詳細資訊, 請參閱在Linux上設定及驗證適用於端點的Defender排除專案

    注意事項

    應用程式會將統計數據儲存在記憶體中,並且只追蹤檔案活動啟動後,並啟用即時保護。 未計算在即時保護關閉之前或期間啟動的進程。 此外,只會計算觸發掃描的事件。

使用用戶端分析器 適用於端點的 Microsoft Defender 效能問題進行疑難解答

適用於:

  • 適用於端點的所有可用 Defender 元件的效能問題,例如 AV 和 EDR

適用於端點的 Microsoft Defender 用戶端分析器 (MDECA) 可以收集追蹤、記錄和診斷資訊,以針對 Linux 上已上線裝置上的效能問題進行疑難解答。

注意事項

若要執行用戶端分析器以針對效能問題進行疑難解答,請參閱 在macOS和Linux上執行用戶端分析器

設定全域排除專案以提升效能

在Linux上設定 適用於端點的 Microsoft Defender,並排除造成效能問題的進程或磁碟位置。 如需詳細資訊,請參閱設定及驗證 Linux 上適用於端點的 Microsoft Defender 排除項目。 如果您仍有執行問題,請連絡支持人員以取得進一步的指示和緩和措施。

疑難排解稽核績效問題

背景:

  • Linux OS 發行版上的 適用於端點的 Microsoft Defender 會使用 AuditD 架構來收集特定類型的遙測事件。

  • 新增至 的規則所擷 /etc/audit/rules.d/ 取的系統事件會新增至audit.log (的) ,而且可能會影響主機稽核和上游集合。

  • 適用於端點的 Microsoft Defender 在Linux上新增的事件將會加上mdatp索引鍵標記。

  • 如果 AuditD 服務設定錯誤或離線,則可能會遺失某些事件。 若要針對這類問題進行疑難解答,請參閱:針對Linux上 適用於端點的 Microsoft Defender的遺漏事件或警示問題進行疑難解答。

在某些伺服器工作負載中,可能會發現兩個問題:

  • High CPU 來自進程的資源耗用 mdatp_audisp_plugin 量。

  • /var/log/audit/audit.log 變大或經常旋轉。

這些問題可能會發生在伺服器上,且有許多事件會使 AuditD 發生。 如果 AuditD 有多個取用者,或有太多規則搭配 適用於端點的 Microsoft Defender 和第三方取用者,或產生大量事件的高工作負載,就會發生這類問題。 若要針對這類問題進行疑難解答,請從收集受影響的範例伺服器上的 MDEClientAnalyzer 記錄 開始。

最佳做法是將 AuditD 記錄設定為在達到檔案大小上限時輪替。 此設定可防止 AuditD 記錄累積在單一檔案中,而且旋轉的記錄檔可以移出以節省磁碟空間。 若要達到此目的,您可以在 auditd.conf 檔案中將 的值設定為 max_log_file_actionrotate

注意事項

一般最佳做法是,建議您將 適用於端點的 Microsoft Defender 代理程式更新為最新可用版本,並確認問題仍持續存在,再進一步調查。 還有其他可能會影響 AuditD 子系統 CPU 壓力的設定。 具體而言,在 auditd.conf 中, 的值 disp_qos 可以設定為 lossy ,以減少高 CPU 耗用量。 不過,這表示某些事件可能會在尖峰 CPU 耗用量期間卸除。

XMDEClientAnalyzer

當您使用 XMDEClientAnalyzer 時,下列檔案會顯示輸出,以提供深入解析以協助您針對問題進行疑難解答。

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

包含一般 AuditD 組態,並顯示下列資訊:

  • 哪些程序註冊為 AuditD 取用者。

  • Auditctl -s 輸出與 enabled=2 (建議稽核處於不可變模式 (需要重新啟動,任何設定變更才會生效。)

  • Auditctl -l輸出 (顯示目前已載入核心的規則,這可能與中磁碟/etc/auditd/rules.d/mdatp.rules上存在的規則不同。也會顯示與 適用於端點的 Microsoft Defender.) 相關的規則

auditd_log_analysis.txt

包含重要的匯總資訊,在調查 AuditD 效能問題時很有用。

  • 哪一個元件擁有最常報告的事件 (適用於端點的 Microsoft Defender 事件會以 key=mdatp) 標記。

  • 最上層的報告啟動器。

  • 最常見的系統會呼叫 (網路或文件系統事件,以及其他) 。

  • 何種文件系統路徑最為節點。

若要減輕大部分的 AuditD 效能問題,您可以實作 AuditD 排除。 如果指定的排除項目無法改善效能,則可以使用速率限制器選項。 這會完全減少 AuditD 所產生的事件數目。

注意事項

排除範圍僅適用於低威脅和高雜訊啟動器或路徑。 例如,請勿排除 /bin/bash,因為這有建立大型盲點的風險。 定義排除專案時要避免的常見錯誤

排除類型

XMDEClientAnalyzer 支援工具包含可用來新增 AuditD 排除組態規則的語法。

AuditD 排除 – 支援工具語法說明:

可用來新增 AuditD 排除組態規則的語法

依啟動器

  • -e/ -exe 完整二進位路徑 > 移除此啟動器的所有事件

依路徑

  • -d / -dir 目錄 > 的完整路徑 移除以此目錄為目標的檔案系統事件

範例:

如果 /opt/app/bin/app 寫入 至 /opt/app/cfg/logs/1234.log,則您可以使用支援工具來排除各種選項:

-e /opt/app/bin/app

-d /opt/app/cfg

-x /usr/bin/python /etc/usercfg

-d /usr/app/bin/

其他範例:

./mde_support_tool.sh exclude -p <process id>

./mde_support_tool.sh exclude -e <process name>

若要排除多個專案 - 將排除範圍串連成一行:

./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>

-x 旗標可用來排除特定啟動器對子目錄的存取,例如:

./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp

上述內容會在mv進程存取時排除 /tmp 子資料夾的監視。

速率限制器

XMDEClientAnalyzer 支援工具包含的語法可用來限制 auditD 外掛程式所報告的事件數目。 此選項會全域設定 AuditD 的速率限制,導致所有稽核事件都下降。

注意事項

此功能應謹慎使用,以限制稽核子系統整體報告的事件數目。 這也可以減少其他訂閱者的事件數目。

ratelimit 選項可用來啟用/停用此速率限制。

使: ./mde_support_tool.sh ratelimit -e true

關閉: ./mde_support_tool.sh ratelimit -e false

啟用 ratelimit 時,AuditD 中會新增規則來處理每秒 2500 個事件。

注意事項

如果您需要分析和減輕 AuditD 相關效能問題的協助,或大規模部署 AuditD 排除專案,請連絡Microsoft支持人員。

另請參閱

提示

想要深入了解? 在我們的技術社群中 Engage Microsoft安全性社群:適用於端點的 Microsoft Defender 技術社群。