Active Directory 網域控制站 CPU 使用率過高

ChanLokMan 80 信譽點數
2026-10-05T06:53:19.6633333+00:00

Active Directory 網域控制站因舊版應用程式發出效率欠佳的 LDAP 查詢,導致 CPU 使用率達到 100%。我們可以如何識別、記錄及排查導致高 CPU 使用率的 LDAP 查詢,並防止這些查詢影響網域控制站的效能?

Windows for business | Windows 365 商務版
0 則留言 沒有留言

由問題作者接受的回答
Harry Phan 35,970 信譽點數 獨立顧問
2026-10-05T07:24:02.44+00:00

你好,

在這種情況下,Active Directory 網域控制站的 CPU 使用率飆高,通常是因為某些舊版或設計不良的應用程式執行了效率極差的 LDAP 查詢,例如過度使用 LDAP_MATCHING_RULE_IN_CHAIN 或未加索引的屬性篩選。要精準識別並排查這些查詢,建議先在網域控制站上啟用 LDAP 查詢記錄,再配合效能監控工具進行分析。

首先,請在網域控制站的登錄檔中設定 LDAP 查詢記錄。進入 HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics,將 16 LDAP Interface Events 的值設為 2 或更高。這樣會在事件檔案中記錄下執行時間過長或資源消耗過大的 LDAP 查詢。事件會出現在 Directory Service 事件檔案中,事件 ID 例如 1644 就能顯示查詢的詳細內容,包括 Base DN、Filter、Attributes 以及執行時間。

接著,使用 Windows Performance Monitor (perfmon) 或 Process Explorer 來觀察 lsass.exe 的 CPU 使用情況,並確認是否與特定時間的事件 ID 1644 相符。這樣可以鎖定是哪個應用程式或服務在執行問題查詢。

當找到問題查詢後,通常需要在 Active Directory 中為相關屬性建立索引,以減少全域掃描。這可以透過 Active Directory Schema 管理工具,在屬性上勾選 “Index this attribute”。同時,建議與應用程式開發團隊合作,優化 LDAP 查詢語法,避免使用過度複雜的篩選條件或未限制範圍的查詢。

若要防止這些查詢持續影響效能,可以考慮在應用程式伺服器端啟用快取機制,減少對網域控制站的即時查詢壓力。另外,也可以透過 Network Monitor 或 Wireshark 在網域控制站上擷取 LDAP 封包,進一步分析來源 IP 與查詢模式,快速定位問題來源。

總結來說,核心步驟是:啟用 LDAP 查詢記錄、分析事件 ID 1644、比對 CPU 使用情況、建立必要索引並優化應用程式查詢。這樣才能有效降低網域控制站的負載並防止效能瓶頸。

希望這裡的內容對您有幫助。如果它能幫助您更深入地了解問題,請採納此答案。如果您還有其他問題,歡迎留言。祝您愉快!

HP.

此回答有幫助嗎?

有 1 人認為此回答有所幫助。
0 則留言 沒有留言

0 個其他答案

排序依據: 最實用

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。