Вот диаграмма MemoryUtilization одного из моих сервисов в кластере ECS.
Как видите, на короткое время память увеличилась до 25%.
В этом кластере у меня 3 t2.medium
машины. В спецификации указано, что эти машины имеют 4 ГБ оперативной памяти.
Моя текущая проблема:
Я использую ImageMagic convert
job в моей задаче aws ecs, и процесс прекращается из-за преобразования большого файла (статус выхода 137). Однако на моем локальном ПК это же задание может выполняться без каких-либо проблем.
Для моей задачи aws ecs установлен предел аппаратного программного обеспечения 1792 МБ. (Это магическое число для запуска как минимум двух задач на t2.medium
)
Мои вопросы:
1) Как понять график? Какой делитель процента? Общая память всех экземпляров ec2? Не знаю, как разобраться в диаграмме.
2) Как сделать использование памяти более гибким? Большую часть времени мой convert
не требует много оперативной памяти. Надеюсь, контейнер может использовать неиспользуемую память.
Это потому, что я использовал жесткое ограничение в определении задачи. Он поместил верхнюю крышку на RAM, которую контейнер может использовать, и, следовательно, вызвал convert
потерпеть неудачу. Вместо этого я должен был использовать мягкий предел и установить его на низкое использование ОЗУ. Это позволит контейнеру использовать RAM столько, сколько может предоставить экземпляр ec2.