本文說明如何縮小與 Linux 上適用於端點的 Defender 相關的效能問題。 診斷工具可協助您瞭解及減輕影響效能的現有資源短缺和程序。 這些診斷工具也可用於增強 Microsoft Defender 入口網站內的可見性。 一或多個硬體子系統中的瓶頸主要會導致效能問題,視系統上資源使用率的設定檔而定。 有時應用程式對磁碟 I/O 資源敏感,可能需要更多 CPU 容量,有時某些設定不可持續,可能會觸發太多新進程,並開啟太多檔案描述元。
視您執行的應用程式和裝置特性而定,在 Linux 上執行適用於端點的 Defender 時,可能會遇到次佳效能。 特別是,在短時間跨度內存取許多資源 (例如 CPU、磁碟和記憶體) 的應用程式或系統進程,可能會導致適用於 Linux 的端點 Defender 中的效能問題。
警告
開始之前, 請確定裝置上目前未執行其他安全產品。 多個安全產品可能會發生衝突並影響主機效能。
有三種不同的方式,可針對 Linux 上適用於端點的 適用於端點的 Microsoft Defender 的診斷工具,針對嘈雜的進程和目錄進行疑難排解:
- 使用即時保護統計資料
- 使用熱門事件來源
- 使用 eBPF 統計資料
使用即時保護統計資料疑難排解效能問題
適用於:
- 僅與防病毒相關的性能問題
RTP) (即時保護是 Linux 上適用於端點的 Defender 的一項功能,可持續監視並保護您的裝置免受威脅。 它包含檔案和進程監控以及其他啟發式方法。
下列步驟可用來疑難排解和緩解這些問題:
使用下列其中一種方法停用即時保護,並觀察效能是否改善。 此方法有助於縮小 Linux 上的適用於端點的 Defender 是否會導致效能問題。 如果您的裝置不是由貴機構管理,您可以從命令列停用即時保護:
mdatp config real-time-protection --value disabledConfiguration property updated如果您的組織管理您的裝置,您的系統管理員可以使用設定 Linux 上適用於端點的 Defender 喜好設定中的指示來停用即時保護。
注意事項
如果效能問題在即時保護關閉時持續存在,則問題的根源也可能是端點偵測和回應 (EDR) 元件。 在此情況下,您需要從防毒軟體和 EDR 中新增全域排除。 在此情況下,請遵循使用 熱門事件來源疑難排解效能問題一節中的步驟。
若要尋找觸發最多掃描的應用程式,您可以使用適用於端點的 Defender 在 Linux 上收集的即時統計資料。
注意事項
此功能在 100.90.70 版或更新版本中可用。
預設情況下,此功能會在 和
InsiderFast頻道上Dogfood啟用。 如果您使用不同的更新通道,可以從命令列啟用此功能:mdatp config real-time-protection-statistics --value enabled此功能需要啟用即時保護。 若要檢查即時保護的狀態,請執行下列命令:
mdatp health --field real_time_protection_enabled確認項目
real_time_protection_enabled為true。 否則,請執行下列命令來啟用它:mdatp config real-time-protection --value enabledConfiguration property updated若要收集目前的統計資料,請執行:
mdatp diagnostic real-time-protection-statistics --output json注意事項
使用
--output json(注意雙破折號) 可確保輸出格式已準備好進行解析。此指令的輸出會顯示所有處理程序及其相關聯的掃描活動。
輸入下列命令:
mdatp diagnostic real-time-protection-statistics --sort --top 4輸出是導致效能問題的前四個因素的清單。 例如,命令的輸出如下所示:
===================================== Process id: 560 Name: NetworkManager Path: "/usr/sbin/NetworkManager" Total files scanned: 261 Scan time (ns): "3070788919" Status: Active ===================================== Process id: 1709561 Name: snapd Path: "/snap/snapd/23545/usr/lib/snapd/snapd" Total files scanned: 247 Scan time (ns): "19926516003" Status: Active ===================================== Process id: 596 Name: systemd-logind Path: "/usr/lib/systemd/systemd-logind" Total files scanned: 29 Scan time (ns): "716836547" Status: Active ===================================== Process id: 1977683 Name: cupsd Path: "/usr/sbin/cupsd" Total files scanned: 20 Scan time (ns): "985110892" Status: Active =====================================若要改善 Linux 上適用於端點的 Defender 的效能,請找出資料列下
Total files scanned數字最高的一個,並為其新增防病毒軟體排除項目, (仔細評估排除) 是否安全。 如需詳細資訊,請參閱 設定和驗證 Linux 上適用於端點的 Defender 的排除專案。注意事項
該應用程式將統計資料儲存在記憶體中,並且僅追蹤自啟動並啟用即時保護以來的檔案活動。 在即時保護關閉之前或期間啟動的程序不會計算在內。 此外,只會計算觸發掃描的事件。
使用熱門事件來源疑難排解效能問題
適用於:
- 檔案和可執行檔中的效能問題,這些問題會耗用整個檔案系統中大部分的 CPU 週期。
熱門事件來源是一項功能,可讓客戶識別哪個處理程序或目錄負責高資源耗用量。 若要調查哪個進程/可執行檔產生最多的雜訊,請遵循下列步驟。
注意事項
這些命令需要您具有 root 權限。 確保可以使用sudo。
首先,檢查電腦上的記錄層級。
mdatp health --field log_level
如果它不在“調試”中,您需要更改它以獲得有關熱文件/可執行文件的詳細報告。
sudo mdatp log level set --level debug
Log level configured successfully
若要收集檔案) 的現行統計資料 (,
sudo mdatp diagnostic hot-event-sources files
輸出在控制台上看起來類似以下內容 (這只是整個輸出) 的片段。 在這裡,第一列顯示出現) 的計數 (頻率,第二列顯示檔案路徑。
Total Events: 11179 Time: 12s. Throughput: 75.3333 events/sec.
=========== Top 684 Hot Event Sources ===========
count file path
2832 /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5
632 /mnt/RamDisk/postgres_data/base/635594/2601
619 /mnt/RamDisk/postgres_data/base/635597/2601
618 /mnt/RamDisk/postgres_data/base/635596/2601
618 /mnt/RamDisk/postgres_data/base/635595/2601
616 /mnt/RamDisk/postgres_data/base/635597/635610
615 /mnt/RamDisk/postgres_data/base/635596/635602
614 /mnt/RamDisk/postgres_data/base/635595/635606
514 /mnt/RamDisk/postgres_data/base/635594/635598_fsm
496 /mnt/RamDisk/postgres_data/base/635597/635610_fsm
此命令會產生熱事件來源報告,該報告儲存在本機資料夾中,可進一步調查。 json 檔案的輸出如下所示;
{
"startTime": "1729535104539160",
"endTime": "1729535117570766",
"totalEvent": "11373",
"eventSource": [
{
"authCount": "2832",
"csId": "",
"notifyCount": "0",
"path": "/mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5",
"pidCount": "1",
"teamId": ""
},
{
"authCount": "632",
"csId": "",
"notifyCount": "0",
"path": "/mnt/RamDisk/postgres_data/base/635594/2601",
"pidCount": "1",
"teamId": ""
}
]
}
在範例中,我們可以看到檔案 /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 產生的活動最多。 此外,對於可執行檔,
sudo mdatp diagnostic hot-event-sources executables
主控台上的輸出看起來類似下列內容。
Total Events: 47382 Time: 18s. Throughput: 157 events/sec.
=========== Top 23 Hot Event Sources ===========
count executable path
8216 /usr/lib/postgresql/12/bin/psql
5721 /usr/lib/postgresql/12/bin/postgres (deleted)
3557 /usr/bin/bash
378 /usr/bin/clamscan
88 /usr/bin/sudo
70 /usr/bin/dash
30 /usr/sbin/zabbix_agent2
10 /usr/bin/grep
8 /usr/bin/gawk
6 /opt/microsoft/mdatp/sbin/wdavdaemonclient
4 /usr/bin/sleep
這是以 json 格式保存在熱門事件來源報告中的輸出;
{
"startTime": "1729534260988396",
"endTime": "1729534280026883",
"totalEvent": "48165",
"eventSource": [
{
"authCount": "8126",
"csId": "",
"notifyCount": "0",
"path": "/usr/lib/postgresql/12/bin/psql",
"pidCount": "2487",
"teamId": ""
},
{
"authCount": "5127",
"csId": "",
"notifyCount": "0",
"path": "/usr/lib/postgresql/12/bin/postgres",
"pidCount": "2144",
"teamId": ""
}
]
}
在此範例中,在 18 秒之後,命令顯示可執行檔;/usr/lib/postgresql/12/bin/psql 和 /usr/lib/postgresql/12/bin/postgres 會產生最多的活動。
完成調查後,您可以將日誌級別更改回“信息”。
sudo mdatp log level set --level info
Log level configured successfully
若要改善 Linux 上適用於端點的 Defender 的效能,請找出計數資料列中數字最高的路徑,並新增全域進程排除 (,如果它是可執行檔) 或全域檔案/資料夾排除 (如果它是檔案) , (仔細評估排除) 是否安全。 如需詳細資訊,請參閱 設定和驗證 Linux 上適用於端點的 Defender 的排除專案。
使用 eBPF 統計資料疑難排解效能問題
適用於:
- 所有檔案/進程事件,包括系統呼叫型效能問題。
eBPF (擴展的 Berkeley Packet Filter) statistics 命令可讓您深入了解生成最多檔案事件的頂級事件/進程及其系統呼叫 ID。 從系統進行系統呼叫時,您的系統上會產生大量工作負載。 eBPF 統計資料可用來識別這類問題。
若要使用 eBPF 統計資料收集目前的統計資料,請執行:
mdatp diagnostic ebpf-statistics
輸出會直接顯示在主控台上,看起來類似下列 (這只是整個輸出) 的片段:
Top initiator paths:
/usr/lib/postgresql/12/bin/psql : 902
/usr/bin/clamscan : 349
/usr/sbin/zabbix_agent2 : 27
/usr/lib/postgresql/12/bin/postgres : 10
Top syscall ids:
80 : 9034
57 : 8932
60 : 8929
59 : 4942
112 : 4898
90 : 179
87 : 170
119 : 32
288 : 19
41 : 15
此命令會監視系統 20 秒,並顯示結果。 此處的頂部啟動器路徑 (postgresql/12/bin/psql) 顯示產生最多系統呼叫的進程路徑。
若要改善 Linux 上適用於端點的 Defender 的效能,請找出資料列中Top initiator path最高的count一個,並為其新增全域進程排除 (仔細評估排除) 是否安全。 如需詳細資訊,請參閱 設定和驗證 Linux 上適用於端點的 Defender 的排除專案。
設定全域排除項目以獲得更好的效能
在 Linux 上設定適用於端點的 Microsoft Defender,並排除導致效能問題的進程或磁碟位置。 如需詳細資訊,請參閱設定及驗證 Linux 上適用於端點的 Microsoft Defender 排除項目。 如果您仍然有效能問題,請聯絡支援人員以取得進一步的指示和緩解措施。
另請參閱
提示
想要深入了解? 在我們的技術社區中與Microsoft安全社區Engage:適用於端點的 Microsoft Defender技術社區。