É possível escolher a quantidade de memória a ser fornecida para a instância do Cloud Run. Nesta página, descrevemos como especificar a quantidade de memória disponível para a instância.
Entender o uso da memória
As instâncias do Cloud Run que excedem o limite de memória permitido são encerradas.
A memória disponível para a instância precisa ser suficiente para:
- Executar o executável da instância, porque ele precisa ser carregado na memória.
- Alocar memória no processo da instância.
- Gravar arquivos no sistema de arquivos.
O tamanho da imagem do contêiner implantada não afeta a memória disponível para a instância.
Definir e atualizar os limites de memória
É possível definir limites de memória nas instâncias do Cloud Run. Por padrão, a memória alocada para cada instância é de 2 GiB .
Memória necessária ao definir um valor de CPU
Ao definir um valor de CPU, a seguinte memória é necessária:
| CPUs | Memória necessária |
|---|---|
| 1 vCPU | 512 MiB a 4 GiB |
| 2 vCPU | 512 MiB a 8 GiB |
| 4 vCPUs | 2 a 16 GiB |
| 6 vCPUs | 4 a 24 GiB |
| 8 vCPUs | 4 a 32 GiB |
Quantidade máxima de memória
A quantidade máxima de memória que você pode configurar é
32 gibibyte (32 Gi).
Memória mínima
A configuração mínima de memória é de 512 MiB.
Considerações sobre o custo
O custo da instância do Cloud Run é afetado pela configuração de memória e pelo tempo de atividade do recurso, entre outros fatores. O provisionamento excessivo de recursos pode aumentar os custos. Para determinar qual configuração de memória é melhor para o recurso:
- Estabeleça uma configuração de linha de base inicial.
- Monitore as métricas de utilização de memória no Cloud Monitoring ao testar o sistema sob carga.
- Ajuste a configuração conforme necessário.
Se a utilização de memória for consistentemente baixa, considere reduzir a memória alocada. Se a latência for alta e a utilização de memória estiver próxima de 100%, considere aumentar a memória alocada. Se você estiver recebendo erros de falta de memória (OOM), aumente a memória alocada ou modifique o aplicativo para evitar vazamentos de memória e usar menos memória. Consulte o painel do Cloud Monitoring para entender melhor a utilização da memória.
Consulte os preços do Cloud Run ou estime os custos com a calculadora de preços para mais informações.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Desenvolvedor do Cloud Run (
roles/run.developer) na instância do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se a instância do Cloud Run interage com Google Cloud APIs, como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar limites de memória
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
É possível definir limites de memória para uma instância do Cloud Run usando a Google Cloud CLI ou o YAML:
gcloud
É possível atualizar a alocação de memória de uma determinada instância usando o comando a seguir:
gcloud beta run instances update INSTANCE --memory SIZE
Substitua:
- INSTANCE: o nome da instância
- SIZE: um tamanho de memória da tabela de CPU e memória.
O formato do tamanho é um número de ponto fixo ou flutuante seguido
por uma unidade:
GouMcorrespondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes:GiouMicorrespondente a gibibyte ou mebibyte, respectivamente.
Também é possível definir limites de memória durante a implantação usando o comando:
gcloud beta run instances deploy --image IMAGE_URL --memory SIZE
Substitua:
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.- SIZE: um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de ponto fixo ou flutuante seguido de uma unidade: G ou M correspondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes: Gi ou Mi correspondentes a gibibyte ou mebibyte, respectivamente.
YAML
Se você estiver criando uma nova instância, pule esta etapa. Se você estiver atualizando uma instância existente, baixe a configuração YAML correspondente:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
O exemplo a seguir contém a configuração YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - image: IMAGE_URL resources: limits: memory: SIZE
Substitua:
- INSTANCE: o nome da instância do Cloud Run.
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.- SIZE: o tamanho de memória escolhido.
O formato é um número de ponto fixo ou flutuante seguido de uma unidade:
GouMcorrespondente a gigabyte ou megabyte, respectivamente, ou usa a potência de dois equivalentes:GiouMicorrespondentes a gibibyte ou mebibyte, respectivamente.
Crie ou atualize a instância usando o seguinte comando:
gcloud beta run instances replace instance.yaml