linux - 我们如何测量 Amazon ECS/Ec2 实例的 vCPU 使用率?

标签 linux amazon-web-services amazon-ec2 devops amazon-ecs

我打算将我的网络应用程序从 Amazon EC2 迁移到 ECS。 (docker) 但在ECS中,我们需要为进程分配内存和vCPU。

但我不确定应该为该任务分配多少 vCPU。 (还有内存)

我如何衡量一个进程需要多少 vCPU 和内存?

谢谢

最佳答案

当谈到您的任务定义时,有两种指定内存的方法。内存设置是一个硬限制。如果容器内存使用量达到此数量,容器将被终止。另一方面,如果您指定 memoryReservation,将为任务保留那么多内存,但它可以使用更多,最多为机器的总量。查看Task Definition documentation了解更多详情。

这里的一个重要考虑是只需要 memorymemoryReservation 之一。如果两者都使用,memoryReservation 应该小于 memory。如果您只打算指定其中之一,我建议您使用 memoryReservation,因为它将允许您的任务使用机器上的总内存。如果两者都使用,memoryReservation 将用于计算任务消耗的内存量。

至于cpu,这个值不是必需的,如果没有指定,一个实例上的所有任务都允许使用系统上可用的 CPU 的相等部分。如果实例上只有一个任务,默认情况下它可以使用实例的整个CPU。

为了更具体一点,1vCPU/1GB Mem EC2 在 ECS 上等于 1024。

可以肯定地说,您的服务将使用与在 EC2 上大致相同的 CPU/内存。您可以登录到您的 EC2 实例并使用各种工具(htop、ps、...)进行检查,或者在 CloudWatch 上进行检查.

例子: 如果您当前的应用程序在 t2.medium(具有 2 个 vCPU 和 4GB 内存)上运行并且仅使用一半的 cpu/内存,那么您的任务将使用 1024 个 CPU 和 2048 个内存。

关于linux - 我们如何测量 Amazon ECS/Ec2 实例的 vCPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50402916/

相关文章:

amazon-web-services - 如何从 s3 存储桶中删除空子文件夹?

amazon-web-services - 在 Airflow GUI 外部创建连接

Php mail() 无法正常工作,但 sendmail 可以。

node.js - Elastic Beanstalk 部署失败、权限被拒绝、mkdir

linux - nftables 配置命令失败,不支持操作

linux - Ubuntu VM 上的 RDM 与 VMDK 设备性能

php - 隐藏服务器版本不起作用

linux - 如何在 nasm 上正确设置 execve 调用?

MySQL 主/从 - 自动服务器 ID

python - 如何使用 FPDF 从 AWS 存储桶下载图像以生成 PDF?