DSAccess 使用者快取已滿

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (https://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2010-05-05

Microsoft® Exchange Server Analyzer 工具會查詢 Win32_PerfRawData_MSExchangeDSAccess_MSExchangeDSAccessCaches Microsoft Windows® Management Instrumentation (WMI) 類別,以判定 TotalEntriesMemoryUserData 目前的值。如果 Exchange Server Analyzer 工具發現 TotalEntriesMemoryUserData 的值等於目錄服務存取 (DSAccess) 使用者快取 (MaxMemoryUser) 的總大小,就會顯示一則警告。

DSAccess 為 Exchange 2000 Server 及 Exchange Server 2003 的內部元件,可控制所有 Exchange 元件存取 Active Directory® 目錄服務的方式。DSAccess 的主要功能是維護各種和目錄相關的事件及作業資訊。例如,DSAccess 會探索 Active Directory 拓樸,並且偵測網域控制站和通用類別目錄伺服器是否可用,並且回應查詢。此外,會透過 DSAccess (如收件者解析、組態設定查詢及其他) 來路由傳送內部 Exchange 元件 (如 Exchange 儲存區) 執行的所有目錄查詢。DSAccess 的工作之一,是在記憶體快取中維護這些查詢的某些結果,以便於再度要求相同的資訊時,可以直接從 DSAccess 快取中擷取資訊,而不用再對 Active Directory 發出另一個輕量型目錄存取通訊協定 (LDAP) 查詢。

在 Exchange 2000 Server 中,使用者快取一開始是設為 25 MB。在服務大量 Microsoft Office Outlook® 2003 用戶端的 Exchange 2000 Server 電腦上,預設的 DSAccess 使用者快取大小不夠。若要增進效能,則需在 Exchange Server 2003 中最佳化使用者快取的預設值,並設為 140 MB。

因為 DSAccess 使用者快取的預設設定大小上限已從 Exchange 2000 Server 中的值 25 MB 增加為 Exchange Server 2003 中的值 140 MB,所以可能會在 Exchange 2000 Server 電腦上產生此警告訊息。不論是哪一版 Exchange 產生這則警告訊息,都應該儘快解決問題。在 DSAccess 快取大小較小的系統上,本機郵件傳遞及通訊錄名稱解析可能會比您預期的慢。

可使用 Exchange 伺服器上的登錄項目來手動設定使用者快取的大小上限。MaxMemoryUser 是 Exchange 2000 Server 登錄參數,此參數可讓 Exchange 系統管理員控制 DSAccess 快取中的使用者資料物件可耗用的最大記憶體量。

MaxMemoryUser 值通常會與 MaxMemoryConfig 值搭配使用,以控制 DSAccess 快取中之組態資料物件可耗用的最大記憶體量。如果依照下列程序所述,編輯或移除 MaxMemoryUser 值,則您應該同樣地依照 DSAccess 組態快取值並非預設值所述,編輯或移除 MaxMemoryConfig 值。

important重要事項:
這篇文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題時,您知道如何還原登錄。若需有關還原登錄的詳細資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

更正 Exchange 2000 Server 電腦上的這個問題

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeDSAccess\Instance0

  3. 增加 MaxMemoryUser 的值。如果這個 DWORD 值不存在,您可以手動建立它。此登錄項目的數值資料是以 KB 為單位;因此,十進位項目 140000 等於 140 MB。

  4. 減少 MaxMemoryConfig 的值。如果這個 DWORD 值不存在,您可以手動建立它。此登錄項目的數值資料也是以 KB 為單位。建議使用十進位值 5000 (等於 5 MB)。

  5. 結束登錄編輯程式,然後重新啟動 Microsoft Exchange System Attendant,使變更生效。

更正 Exchange Server 2003 電腦上的這個問題

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:HKLM\System\CurrentControlSet\Services\MSExchangeDSAccess\Instance0

  3. 如果 MaxMemoryUser 存在且設為小於 140 MB,請刪除 MaxMemoryUser 值。如果 MaxMemoryUser 存在且大於 140 MB,請將它的值增加 10%。

  4. 如果 MaxMemoryConfig 存在,請將它刪除。

  5. 結束登錄編輯程式,並重新啟動 Exchange System Attendant,使變更生效。

在編輯登錄之前,以及想瞭解有關如何編輯登錄的詳細資訊時,請閱讀微軟知識庫文件 - 256986<Microsoft Windows 登錄說明>(https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986)。

若需 DSAccess 的詳細資訊,請參閱知識庫文件 - 250570<目錄服務伺服器偵測及 DSAccess 使用>(英文) (https://go.microsoft.com/fwlink/?LinkId=3052&kbid=250570)。