【发布时间】:2018-08-14 17:15:38
【问题描述】:
我有一个 EC2 实例,它托管一个 Elastic Beanstalk 环境(Linux 和 Python),配置如下:
实例类型:c5.2xlarge
根卷大小:1000 GiB
在我的 python 文件中,我创建了 60 个线程来处理裁剪视频(使用 moviepy),每个线程将裁剪 10 个视频(总共 10MB)。当我运行该文件时,它返回错误“无法分配内存”。我知道这是关于内存不足的问题,但我不知道如何测量和设置 EC2 实例的容量以避免这个问题。
欢迎提出任何建议。
【问题讨论】:
-
您是否尝试过减少线程来验证这不是容量问题?
-
是的,我尝试了 5-6 个线程,它工作正常。我的观点是,如果我想像这样运行 60 个线程(可能更多),我如何配置 EC2 实例以在没有内存不足的情况下采用这种繁重的工作负载
-
为什么不根据内存利用率制定规则来添加更多 EC2 实例。例如。您可以设置规则以在内存利用率达到 80% 时启动 EC2 实例。
标签: linux multithreading python-2.7 amazon-ec2 moviepy