Pular para o conteúdo
Abrir o Kubepier

Ferramenta 01 · roda no seu navegador

Conversor de CPU e memória do Kubernetes

Digite como está no manifesto (500m, 0.5, 512Mi, 1Gi, 2G) e veja o valor em todas as unidades, o total para as réplicas e o YAML pronto para colar.

privacidadeRoda no seu navegador. Nada sai da sua máquina.

CPU1 vCPU = 1000m

precisão mínima: 1m (0,001 núcleo). Documentação do Kubernetes, "Resource units in Kubernetes".

Memória1Mi = 1.048.576 B

Ki, Mi, Gi são potências de 1024; k, M, G são potências de 1000. Documentação do Kubernetes, "Resource units in Kubernetes".

Total para as réplicasrequests × réplicas
—vCPU reservadas
—memória reservada
resources · YAML normalizado

As unidades, explicadas

documentação do Kubernetes, "Resource Management for Pods and Containers"

CPU

A unidade é o núcleo: 1 CPU no Kubernetes equivale a 1 núcleo físico ou virtual. Frações são aceitas: 0.5 e 500m são o mesmo valor, e "m" quer dizer milli (milésimo). A precisão mínima é 1m. CPU é um recurso compressível: passar do limite gera throttling, não morte.

No manifestovCPULeitura
11,0um núcleo inteiro
500m0,5meio núcleo; igual a 0.5
100m0,1um décimo de núcleo
1m0,001o mínimo aceito

Memória

A unidade é o byte. Sufixos com "i" (Ki, Mi, Gi, Ti) são potências de 1024; sem "i" (k, M, G, T) são potências de 1000. 512M e 512Mi diferem em 4,9%, e é aí que um limite "igual ao de antes" começa a matar pods. Memória não é compressível: passar do limite é OOMKilled.

SufixoBytesBase
1Ki1.0241024¹
1Mi1.048.5761024²
1Gi1.073.741.8241024³
1M1.000.0001000²
1G1.000.000.0001000³

Passou do limite? Veja OOMKilled: o container passou do limite de memória.

Perguntas frequentes

Por que 512M e 512Mi não são a mesma coisa?

M é potência de 1000 (512.000.000 bytes) e Mi é potência de 1024 (536.870.912 bytes). A diferença é de 4,9%. O Kubernetes aceita as duas grafias e trata cada uma ao pé da letra, conforme a documentação, "Resource units in Kubernetes".

Posso escrever 0.5 em vez de 500m?

Sim, são equivalentes; o kubectl costuma mostrar 500m. A documentação não permite especificar CPU com precisão menor que 1m (0,001 núcleo).

O que acontece se eu passar do limite?

CPU é compressível: o container é limitado (throttling) e fica mais lento, mas não morre. Memória não é: passar de limits.memory é OOMKilled, exit code 137. Veja a página de erro OOMKilled.

Requests ou limits: qual entra na conta de capacidade?

O scheduler soma os requests dos pods do nó para decidir se cabe mais um. Limits não entram nessa soma, o que permite overcommit. Por isso o total das réplicas aqui usa requests.

Este conversor envia meus valores para algum servidor?

Não. A página é estática e todo o cálculo roda em JavaScript no seu navegador. Você pode confirmar na aba Network das ferramentas do desenvolvedor: nenhuma requisição sai enquanto você digita.