SMTP MaxMessageObjects 的設定太低

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

上次修改主題的時間: 2005-11-18

Microsoft® Exchange Server Analyzer 工具會讀取下列登錄項目,以判定系統可以配置的最大電子郵件數:

HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\MailMsg\MaxMessageObjects

如果 Exchange Server Analyzer 發現 MaxMessageObjects 的值小於 30001,則會顯示一則警告。

當佇列包含最大郵件數目時,「簡易郵件傳送通訊協定 (SMTP)」就不會再接受其他輸入郵件。位在 SMTP 佇列中的每個郵件訊息至少會使用 4 KB 的記憶體;因此,大型佇列可能會導致記憶體過低的情況。

依預設,MaxMessageObjects 值不存在,且最大郵件數目設為 100,000。設定較低的 MaxMessageObjects 值會減少佇列中可放置的最大郵件數目,因此會降低 SMTP 的最大記憶體支配。達到此限制之後,對伺服器所建立的每一個 SMTP 連線都會傳回記憶體不足的錯誤。

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

若要設定可以進入佇列的 SMTP 郵件數目限制

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

  2. 瀏覽至:HKLM\Software\Microsoft\Exchange

  3. 在 Exchange 機碼上按一下滑鼠右鍵,然後按一下 [新增機碼]。將新機碼命名為 MailMsg

  4. MailMsg 機碼上按一下滑鼠右鍵,然後按一下 [新增 DWORD 值]

  5. 在新值上按一下滑鼠右鍵,按一下 [重新命名],然後鍵入 MaxMessageObjects

  6. 按兩下 MaxMessageObjects 值,然後將該值設定為無論何時,佇列中都不可超過的郵件數上限。除非您需要處理更多郵件,否則建議使用最大值 100,000。

  7. 結束登錄編輯程式,然後重新啟動 SMTP 服務,使變更生效。

編輯登錄之前,若需如何編輯登錄的相關資訊,請參閱微軟知識庫文件 - 256986<Microsoft Windows 登錄說明>(https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986)。

若需有關對佇列中郵件設定限制的詳細資訊,請參閱微軟知識庫文件 - 258748<如何設定佇列中 SMTP 郵件的數目限制>(英文) (https://go.microsoft.com/fwlink/?linkid=3052&kbid=258748)。