

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon MQ 上的 ActiveMQ：中介裝置記憶體不足警示 Amazon MQ
<a name="troubleshooting-action-required-codes-broker-out-of-memory"></a>

當代理程式因為記憶體容量不足而經歷重新啟動迴圈時，Amazon MQ 上的 ActiveMQ 會引發 BROKER\$1OOM 警示。 Amazon MQ 當代理程式處於重新啟動迴圈 (也稱為反彈迴圈) 時，代理程式會在短時間範圍內啟動重複的復原嘗試。由於記憶體容量不足而無法完成啟動的代理程式可以進入重新啟動迴圈，在此期間與代理程式的互動受到限制。

預設情況下，Amazon MQ 為您的代理程式啟用指標。您可以透過存取 Amazon CloudWatch 主控台，或使用 CloudWatch API，檢視您的代理程式指標。以下指標在診斷 ActiveMQ BROKER\$1OOM 警示時非常實用：


| Amazon MQ CloudWatch 指標 | 記憶體使用較高的原因 | 
| --- | --- | 
| TotalMessageCount | 訊息一直存放在記憶體中，直到將其取用或捨棄。較高的訊息計數可能表示資源過度使用，並可能導致高記憶體警示。 | 
| HeapUsage | 代理程式目前使用 ActiveMQ JVM 記憶體限制。較高的百分比表示代理程式正在使用大量資源，並且可能導致 OOM 警示。 | 
| ConnectionCount | 用戶端連線使用記憶體，並且過多的同時連線可能會導致高記憶體警示。 | 
| CpuUtilization | 代理當前正在使用的已分配 EC2 運算單位的百分比。 | 
| TotalConsumerCount | 對於連線至代理程式的每個取用者，在傳遞給取用者之前，將一組數量的訊息從儲存器載入至記憶體中。大量取用者連線可能會導致高記憶體用量，並導致高記憶體警示。 | 

為了防止重新啟動迴圈並避免 BROKER\$1OOM 警示，請確保訊息快速消耗。您可以選擇最有效的代理程式執行個體類型，並清除[無效字母佇列](https://activemq.apache.org/message-redelivery-and-dlq-handling.html)以捨棄無法傳遞或過期的訊息來執行此操作。您可以進一步了解如何在 [Amazon MQ 上確保 ActiveMQ 的有效效能最佳實務](best-practices-activemq.md)。