

# Monitore créditos de CPU para instâncias com capacidade de expansão
<a name="burstable-performance-instances-monitoring-cpu-credits"></a>

O EC2 envia métricas para o Amazon CloudWatch. É possível ver as métricas de crédito da CPU nas métricas do Amazon EC2 por instância do console do CloudWatch ou usando a AWS CLI para listar as métricas de cada instância. Para obter mais informações, consulte [As métricas do CloudWatch que estão disponíveis para as instâncias](viewing_metrics_with_cloudwatch.md).

**Topics**
+ [Métricas adicionais do CloudWatch para instâncias expansíveis](#burstable-performance-instances-cw-metrics)
+ [Calcular o uso de crédito da CPU](#burstable-performance-instances-calculating-credit-use)

## Métricas adicionais do CloudWatch para instâncias expansíveis
<a name="burstable-performance-instances-cw-metrics"></a>

As instâncias expansíveis têm estas métricas adicionais do CloudWatch, que são atualizadas a cada cinco minutos:
+ `CPUCreditUsage` – O número de créditos de CPU gastos durante o período de medição.
+ `CPUCreditBalance` – o número de créditos de CPU que uma instância acumulou. Esse saldo é esgotado quando a CPU apresenta expansãos e os créditos de CPU são gastos com mais rapidez do que são ganhos.
+ `CPUSurplusCreditBalance` – O número de créditos de CPU excedentes gastos para sustentar a utilização de CPU quando o valor de `CPUCreditBalance` for zero.
+ `CPUSurplusCreditsCharged` – o número de créditos de CPU excedentes que ultrapassam o [número máximo de créditos de CPU](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table) que podem ser ganhos em um período de 24 horas, resultando em uma cobrança adicional.

Essas duas últimas métricas aplicam-se somente a instâncias configuradas como `unlimited`.

A tabela a seguir descreve as métricas do CloudWatch para instâncias expansíveis. Para obter mais informações, consulte [As métricas do CloudWatch que estão disponíveis para as instâncias](viewing_metrics_with_cloudwatch.md).


| Métrica | Descrição | 
| --- | --- | 
| CPUCreditUsage |  O número de créditos de CPU gastos pela instância por utilização de CPU. Um crédito de CPU equivale a um vCPU em execução em 100% de utilização por um minuto ou a uma combinação equivalente de vCPUs, utilização e tempo (por exemplo, um vCPU em execução a 50% de utilização por dois minutos ou dois vCPUs em execução a 25% de utilização por dois minutos). As métricas de crédito de CPU estão disponíveis a uma frequência de apenas 5 minutos. Se você especificar um período de mais cinco minutos, use a estatística `Sum` em vez da estatística `Average`. Unidades: créditos (minutos de vCPU)  | 
| CPUCreditBalance |  O número de créditos ganhos de CPU que uma instância acumulou desde que foi executada ou iniciada. Para a T2 Padrão, o `CPUCreditBalance` também inclui o número de créditos de execução que foram acumulados. Os créditos são acumulados no saldo de créditos após terem sido ganhos e são removidos do saldo de créditos quando são gastos. O saldo de crédito tem um limite máximo, determinado pelo tamanho da instância. Depois que o limite for atingido, todos os novos créditos ganhos serão descartados. Para a T2 Padrão, os créditos de execução não são contabilizados para o limite. Os créditos do `CPUCreditBalance` são disponibilizados para que a instância gaste e apresente expansão com uma utilização de CPU acima da linha de base. Quando uma instância está em execução, os créditos do `CPUCreditBalance` não expiram. Quando uma instância T4g, T3a ou T3 é interrompida, o valor de `CPUCreditBalance` persiste por sete dias. Consequentemente, todos os créditos acumulados são perdidos. Quando uma instância T2 é interrompida, o valor `CPUCreditBalance` não persiste, e todos os créditos acumulados são perdidos. As métricas de crédito de CPU estão disponíveis a uma frequência de apenas 5 minutos. Unidades: créditos (minutos de vCPU)  | 
| CPUSurplusCreditBalance  |  O número de créditos excedentes gastos por uma instância `unlimited` quando seu valor `CPUCreditBalance` é zero. O valor `CPUSurplusCreditBalance` é pago pelos créditos de CPU ganhos. Se o número de créditos excedentes ultrapassar o número máximo de créditos que a instância pode ganhar em um período de 24 horas, os créditos excedentes gastos acima do limite máximo incorrerão em uma taxa adicional. Unidades: créditos (minutos de vCPU)   | 
| CPUSurplusCreditsCharged |  O número de créditos excedentes gastos que não são pagos pelos créditos de CPU ganhos e que, portanto, incorrem em uma cobrança adicional. Os créditos excedentes gastos são cobrados quando uma das seguintes situações ocorre:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html) Unidades: créditos (minutos de vCPU)   | 

## Calcular o uso de crédito da CPU
<a name="burstable-performance-instances-calculating-credit-use"></a>

O uso de créditos de CPU de instâncias é calculado por meio das métricas de instância do CloudWatch descritas na tabela anterior.

O Amazon EC2 envia as métricas ao CloudWatch a cada cinco minutos. Uma referência ao valor *anterior* de uma métrica em qualquer momento implica o valor anterior da métrica, enviado *cinco minutos atrás*.

### Calcular uso de créditos de CPU de instâncias padrão
<a name="burstable-performance-instances-standard-calculation"></a>
+ O saldo de crédito de CPU aumentará se a utilização de CPU ficar abaixo da linha de base, quando os créditos gastos forem inferiores aos créditos ganhos no intervalo anterior de cinco minutos. 
+ O saldo de crédito de CPU diminuirá se a utilização de CPU ficar acima da linha de base, quando os créditos gastos forem superiores aos créditos ganhos no intervalo anterior de cinco minutos. 

Matematicamente, isso é capturado pela equação a seguir:

**Example**  

```
CPUCreditBalance = prior CPUCreditBalance + [Credits earned per hour * (5/60) - CPUCreditUsage]
```

O tamanho da instância determina o número de créditos que a instância pode ganhar por hora e o número de créditos ganhos que ela pode acumular no saldo de créditos. Para obter informações sobre o número de créditos ganhos por hora e o limite de saldo de créditos para cada tamanho de instância, consulte a [Tabela de créditos](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table).

**Exemplo**  
Este exemplo usa uma instância `t3.nano`. Para calcular o valor `CPUCreditBalance` da instância, use a equação anterior, da seguinte maneira:
+ `CPUCreditBalance` – O saldo de crédito atual a ser calculado.
+ `prior CPUCreditBalance` – O saldo de crédito de cinco minutos atrás. Neste exemplo, a instância acumulou dois créditos.
+ `Credits earned per hour` – A instância `t3.nano` ganha seis créditos por hora.
+ `5/60` – Representa o intervalo de cinco minutos entre a publicação da métrica do CloudWatch. Multiplique os créditos ganhos a cada hora por 5/60 (cinco minutos) para obter o número de créditos que a instância ganhou nos últimos cinco minutos. A instância `t3.nano` ganha 0,5 crédito a cada cinco minutos.
+ `CPUCreditUsage` – Quantos créditos a instância gastou nos últimos cinco minutos. Neste exemplo, a instância gastou um crédito nos últimos cinco minutos.

Com esses valores, é possível calcular o valor `CPUCreditBalance`:

**Example**  

```
CPUCreditBalance = 2 + [0.5 - 1] = 1.5
```

### Cálculo de uso de créditos de CPU de instâncias ilimitadas
<a name="burstable-performance-instances-unlimited-calculation"></a>

Quando uma instância expansível precisa ter uma expansão acima da linha de base, ela sempre gasta os créditos acumulados antes dos créditos excedentes. Quando ela esgotar o saldo de crédito de CPU acumulado, poderá gastar os créditos excedentes para expansão de CPU enquanto precisar. Quando a utilização de CPU ficar abaixo da linha de base, os créditos excedentes sempre serão pagos antes que a instância acumule créditos ganhos.

Usamos o termo `Adjusted balance` nas equações a seguir para refletir a atividade que ocorre nesse intervalo de cinco minutos. Usamos esse valor para atingir os valores das métricas do `CPUCreditBalance` de `CPUSurplusCreditBalance` e CloudWatch. 

**Example**  

```
Adjusted balance = [prior CPUCreditBalance - prior CPUSurplusCreditBalance] + [Credits earned per hour * (5/60) - CPUCreditUsage]
```

O valor `0` em `Adjusted balance` indica que a instância gastou todos os créditos ganhos para expansão e nenhum crédito excedente foi gasto. Consequentemente, `CPUCreditBalance` e `CPUSurplusCreditBalance` são definidos como `0`.

Um valor `Adjusted balance` positivo indica que a instância acumulou créditos ganhos, e os créditos excedentes anteriores (se houver) foram pagos. Consequentemente, o valor de `Adjusted balance` é atribuído a `CPUCreditBalance`, e `CPUSurplusCreditBalance` é definido como `0`. O tamanho da instância determina o [número máximo de créditos](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table) que ela pode acumular.

**Example**  

```
CPUCreditBalance = min [max earned credit balance, Adjusted balance]
CPUSurplusCreditBalance = 0
```

O valor `Adjusted balance` negativo indica que a instância gastou todos os créditos ganhos acumulados e também os créditos excedentes gastos para expansão. Consequentemente, o valor de `Adjusted balance` é atribuído a `CPUSurplusCreditBalance`, e `CPUCreditBalance` é definido como `0`. Novamente, o tamanho da instância determina o [número máximo de créditos](burstable-credits-baseline-concepts.md#burstable-performance-instances-credit-table) que ela pode acumular.

**Example**  

```
CPUSurplusCreditBalance = min [max earned credit balance, -Adjusted balance]
CPUCreditBalance = 0
```

Se os créditos excedentes gastos ultrapassarem o máximo de créditos que a instância pode acumular, o saldo de créditos excedentes será definido como o número máximo, conforme exibido na equação anterior. Os créditos excedentes restantes serão cobrados conforme representados pela métrica `CPUSurplusCreditsCharged`.

**Example**  

```
CPUSurplusCreditsCharged = max [-Adjusted balance - max earned credit balance, 0]
```

Por fim, quando a instância for encerrada, todos os créditos excedentes monitorados pelo `CPUSurplusCreditBalance` serão cobrados. Se a instância for alterada de `unlimited` para `standard`, todo o `CPUSurplusCreditBalance` restante também será cobrado.