Especificar opções de CPU para uma instância do Amazon EC2
Pode-se especificar as opções de CPU durante ou após a execução da instância por meio do AWS Management Console, daAWS CLI, da API EC2 ou de SDKs. Esta página aborda os métodos AWS CLI e AWS Management Console, da seguinte forma.
Desabilitar multithreading simultâneo
Para desabilitar o multithreading simultâneo (SMT), também conhecido como hyper-threading, especifique um thread por núcleo.
- Console
-
- AWS CLI
-
Desabilitar o SMT durante a inicialização da instância
Use o comando run-instances da AWS CLI e especifique um valor de 1
para ThreadsPerCore
no parâmetro --cpu-options
. Em CoreCount
, especifique o número de núcleos de CPU. Neste exemplo, para especificar a contagem de núcleos de CPU padrão para uma instância r5.4xlarge
, especifique um valor de 8
.
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=8
,ThreadsPerCore=1
" \
--key-name MyKeyPair
Especificar um número personalizado de vCPUs na inicialização
É possível personalizar o número de núcleos de CPU e de thread por núcleo da instância ao iniciar uma instância do console do EC2 ou da AWS CLI. Os exemplos nesta seção usam um tipo de instância r5.4xlarge
, que tem as seguintes configurações padrão:
-
Núcleos de CPU: 8
-
Threads por núcleo: 2
Por padrão, as instâncias são iniciadas com o número máximo de vCPUs disponíveis para o tipo de instância. Para esse tipo de instância, são 16 vCPUs no total (8 núcleos executando 2 threads cada). Para obter mais informações sobre este tipo de instância, consulte Instâncias otimizadas para memória.
O exemplo apresentado a seguir inicia uma instância r5.4xlarge
com quatro vCPUs.
- Console
-
- AWS CLI
-
Para especificar um número personalizado de vCPUs durante a execução da instância
Use o comando run-instances da AWS CLI e especifique o número de núcleos de CPU e o número de threads no parâmetro --cpu-options
. É possível especificar dois núcleos de CPU e dois threads por núcleo para obter quatro vCPUs.
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=2
,ThreadsPerCore=2
" \
--key-name MyKeyPair
Como alternativa, especifique quatro núcleos de CPU e um thread por núcleo (desabilitar o SMT) para obter quatro vCPUs:
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=4
,ThreadsPerCore=1
" \
--key-name MyKeyPair
Especificar um número personalizado de vCPUs em um modelo de execução
É possível personalizar o número de núcleos de CPU e de threads por núcleo para a instância em um modelo de execução. Os exemplos nesta seção usam um tipo de instância r5.4xlarge
, que tem as seguintes configurações padrão:
-
Núcleos de CPU: 8
-
Threads por núcleo: 2
Por padrão, as instâncias são iniciadas com o número máximo de vCPUs disponíveis para o tipo de instância. Para esse tipo de instância, são 16 vCPUs no total (8 núcleos executando 2 threads cada). Para obter mais informações sobre este tipo de instância, consulte Instâncias otimizadas para memória.
O exemplo apresentado a seguir cria um modelo de execução que especifica a configuração para uma instância r5.4xlarge
com quatro vCPUs.
- Console
-
- AWS CLI
-
Para especificar um número personalizado de vCPUs em um modelo de execução
Use o comando create-launch-template da AWS CLI e especifique o número de núcleos de CPU e o número de threads no parâmetro CpuOptions
. É possível especificar dois núcleos de CPU e dois threads por núcleo para obter quatro vCPUs.
aws ec2 create-launch-template \
--launch-template-name TemplateForCPUOptions
\
--version-description CPUOptionsVersion1
\
--launch-template-data file://template-data
.json
Veja a seguir um exemplo de arquivo JSON que contém os dados do modelo de execução, que incluem as opções de CPU, para a configuração da instância para este exemplo.
{
"NetworkInterfaces": [{
"AssociatePublicIpAddress": true,
"DeviceIndex": 0,
"Ipv6AddressCount": 1,
"SubnetId": "subnet-7b16de0c
"
}],
"ImageId": "ami-8c1be5f6
",
"InstanceType": "r5.4xlarge
",
"TagSpecifications": [{
"ResourceType": "instance",
"Tags": [{
"Key":"Name
",
"Value":"webserver
"
}]
}],
"CpuOptions": {
"CoreCount":2
,
"ThreadsPerCore":2
}
}
Outra alternativa é especificar quatro núcleos de CPU e um thread por núcleo (desabilite o SMT) para obter quatro vCPUs:
{
"NetworkInterfaces": [{
"AssociatePublicIpAddress": true,
"DeviceIndex": 0,
"Ipv6AddressCount": 1,
"SubnetId": "subnet-7b16de0c
"
}],
"ImageId": "ami-8c1be5f6
",
"InstanceType": "r5.4xlarge
",
"TagSpecifications": [{
"ResourceType": "instance",
"Tags": [{
"Key":"Name
",
"Value":"webserver
"
}]
}],
"CpuOptions": {
"CoreCount":4
,
"ThreadsPerCore":1
}
}
Alterar opções de CPU para a instância do EC2
À medida que suas necessidades mudam com o tempo, talvez seja necessário alterar a configuração das opções de CPU para uma instância existente. Cada thread executado na instância é conhecido como CPU virtual (vCPU). É possível alterar o número total de vCPUs que são executadas em uma instância existente no console, na AWS CLI, na API ou nos SDKs do Amazon EC2. O estado da instância deve ser Stopped
antes que se possa fazer essa alteração.
Para visualizar as etapas do console ou da linha de comando, selecione a guia que corresponde ao ambiente. Para obter informações sobre solicitações e respostas de API, consulte ModifyInstanceCpuOptions na Referência de API do Amazon EC2.
- Console
-
Siga este procedimento para alterar o número de vCPUs ativas para sua instância usando o AWS Management Console.
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.
-
No painel de navegação à esquerda, selecione Instâncias. Esse procedimento abre a lista de instâncias definidas para a Região da AWS atual.
-
Na lista de Instâncias, selecione a instância. Outra alternativa é selecionar o link da instância para abrir a página de detalhes da instância.
-
Caso a instância esteja em execução, é necessário interrompê-la antes de continuar. No menu Estado da instância, selecione Interromper instância.
-
Para alterar sua configuração de vCPU, selecione Alterar opções de CPU em Configurações de instância no menu Ações. Esse procedimento abre a página Alterar opções de CPU.
-
Selecione uma das seguintes opções de CPU para alterar a configuração da instância.
- Nenhum
-
Essa opção redefine sua instância para o número padrão de vCPUs para o tipo de instância. O padrão é executar todos os threads para todos os núcleos da CPU.
- Especificar opções de CPU
-
Essa opção permite a configuração do número de vCPUs em execução na sua instância.
-
Caso tenha selecionado Especificar opções de CPU, a configuração vCPU ativa será exibida.
-
O primeiro seletor configura o número de threads que são executados para cada núcleo da CPU. Para desabilitar o multithreading simultâneo, altere o número de threads executados por núcleo para 1
.
-
O segundo seletor configura o número de CPUs em execução na sua instância.
Os campos a seguir são atualizados dinamicamente à medida que são realizadas alterações nos seletores de opções da CPU.
-
vCPUs ativas: o número total de núcleos de CPU multiplicado pelos threads por núcleo, com base nas seleções realizadas. Por exemplo, caso tenha selecionado 2 threads e 4 núcleos, isso equivaleria a 8 vCPUs.
-
Total de vCPUs: o número máximo de vCPUs para o tipo de instância. Por exemplo, para um tipo de instância m6i.4xlarge
, são 16 vCPUs (8 núcleos executando 2 threads cada).
-
Para aplicar suas atualizações, selecione Alterar.
- AWS CLI
-
Siga este procedimento para alterar o número de vCPUs ativas para sua instância usando o AWS CLI.
Use o comando modify-instance-cpu-options e especifique o número de núcleos de CPU que são executados no parâmetro --core-count
e o número de threads executados por núcleo no parâmetro --threads-per-core
.
Os exemplos a seguir mostram duas configurações possíveis em um tipo de instância m6i.4xlarge
para executar 8 vCPUs na instância especificada. O padrão para esse tipo de instância é 16 vCPUs (8 núcleos executando 2 threads cada).
Exemplo 1: execute 4 núcleos de CPU com 2 threads por núcleo, totalizando 8 vCPUs.
aws ec2 modify-instance-cpu-options \
--instance-id i-1234567890abcdef0
\
--core-count=4
\
--threads-per-core=2
Exemplo 2: desabilite o multithreading simultâneo alterando o número de threads executados por núcleo para 1
. A configuração resultante também executa um total de 8 vCPUs (8 núcleos de CPU com 1 thread por núcleo).
aws ec2 modify-instance-cpu-options \
--instance-id i-1234567890abcdef0
\
--core-count=8
\
--threads-per-core=1