How to find the number of allocated vcpus inside a Fargate task?

0

We want to dynamically configure an application running on Fargate ECS to have one thread for each vcpu allocated to it.

The application parameter can be configured via an environment variable.

I'd like to fetch the number of vcpu's allocated from inside the task container and set the environment variable before starting the application.

Is there a way (e.g. a file under /sys, for instnace?) to fetch this when the task starts up?

Amos
feita há 8 meses409 visualizações
1 Resposta
2
Resposta aceita

Hi, if you simply want to get the number of threads in a task, you can run the following command.

root@ip-172-31-1-51:/usr/local/apache2# python3 -c 'import os; print(os.cpu_count())'
2

If you definitely want to get the number of vCPUs, you need to run aws ecs describe-task-definition command to fetch the vCPU info.

root@ip-172-31-1-51:/usr/local/apache2# PAGER=cat aws ecs describe-task-definition --task-definition MyTaskDefinition --query "taskDefinition.cpu" --output text
256
profile picture
HS
respondido há 8 meses
profile picture
ESPECIALISTA
avaliado há 24 dias
profile pictureAWS
ESPECIALISTA
avaliado há 8 meses
  • Yes, section ContainerDefinitions provides what you are after: "containerDefinitions": [ { "environment": [], "name": "wordpress", "links": [ "mysql" ], "mountPoints": [], "image": "wordpress", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "memory": 500, "cpu": 10, "volumesFrom": [] },

  • Thank you. It looks like the Python command you suggest would do the trick, assuming you mean that it can execute inside the container.

    The other answer will be trickier since I want to fetch this information from inside the container itself, without requiring direct AWS API access.

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas