當我在 Amazon Elastic Container Service (Amazon ECS) 上執行應用程式時,資源使用量變得很高。
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱 Troubleshooting errors for the AWS CLI (對 AWS CLI 錯誤進行疑難排解)。此外,請務必使用最新版 AWS CLI。
使用 Amazon CloudWatch 追蹤 ECS 服務等級指標。如需更詳細的資源使用量資訊,請開啟 Container Insights 或具有增強可觀測性的 Container Insights,並檢查 CPU 使用量和記憶體使用指標。
執行範例查詢來分析日誌中是否存在高資源使用量、記憶體不足 (OOM) 事件或應用程式錯誤。根據發現的問題最佳化任務定義。如需更多資訊,請參閱 Analyzing log data with CloudWatch Logs Insights (使用 CloudWatch Logs Insights 分析日誌資料)。
若要檢查記憶體使用量,請執行以下查詢:
stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10
如果您的 ECS 任務意外停止,請使用 DescribeTasks API 檢查 stoppedReason 和容器的 exitCode,以確定原因。如需更多資訊,請參閱為什麼我的 Amazon ECS 任務會停止?
使用 AWS CLI 中的 ECS Exec,在容器內執行命令來查看資源使用量資訊。
對於記憶體洩漏,請檢查應用程式日誌和程序,以找出記憶體洩漏來源。
對於高 CPU 使用量,請增加任務 CPU 配置,或升級到更大的執行個體類型。
對於磁碟空間問題,請執行下列命令來識別大於 50 MB 的檔案:
find / -type f -size +50000k -exec ls -lh {} \; 2>/dev/null
若要增加磁碟空間,請參閱如何增加 AWS Fargate 上 Amazon ECS 容器的磁碟空間?
若要確定應用程式的最佳資源配置,請使用工具進行測試。然後,根據結果更新您的任務定義和服務配置。根據您的使用模式修改任務定義中的 CPU 和記憶體容量。使用應用程式自動擴展來有效管理不斷變化的工作負載。
確保您的容器執行個體具有足夠的資源來完成您的任務。使用容量供應商自動調整您的叢集容量。
為指標建立警示,例如 CPU 使用量、記憶體使用量和應用程式錯誤率等。設定通知,以在超過閾值時提醒您。
How do I mount an Amazon EFS file system on an Amazon ECS container or task that runs on AWS Fargate? (如何將 Amazon EFS 檔案系統掛載到在 AWS Fargate 上執行的 Amazon ECS 容器或任務上?)
Container Insights with enhanced observability now available in Amazon ECS (現已可在 Amazon ECS 中使用具有增強可觀測性的 Container Insights)
Amazon ECS CloudWatch metrics (Amazon ECS CloudWatch 指標)
Monitor Amazon ECS using CloudWatch (使用 CloudWatch 監控 Amazon ECS)
This article was reviewed and updated on 2026-03-02.
AWS Official
回答 2 個月前
User-7488645
已提問 1 年前
david
Wayne
已提問 6 天前
rePost-User-1702160
已提問 3 年前
Zoe
Donnie LI
已發佈 2 年前