Amazon MQ for ActiveMQ:代理程式記憶體不足警示 - Amazon MQ

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

Amazon MQ for ActiveMQ:代理程式記憶體不足警示

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

預設情況下,Amazon MQ 為您的代理程式啟用指標。您可以存取 Amazon CloudWatch 主控台或使用 CloudWatch API 來檢視代理程式指標。以下指標在診斷 ActiveMQ BROKER_OOM 警示時非常實用:

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

為了防止重新啟動迴圈並避免 BROKER_OOM 警示,請確保訊息快速消耗。您可以選擇最有效的代理程式執行個體類型,並清除無效字母佇列以捨棄無法傳遞或過期的訊息來執行此操作。您可以在 Amazon MQ for ActiveMQ 最佳實務進一步了解如何確保有效的效能。