Configure os limites de memória para grupos de trabalhadores

Pode escolher a quantidade de memória a disponibilizar para o conjunto de trabalhadores do Cloud Run. Esta página descreve como especificar a quantidade de memória disponível para o seu worker pool.

Compreenda a utilização de memória

As instâncias do Cloud Run que excedem o respetivo limite de memória permitido são terminadas.

A memória disponível para a sua instância tem de ser suficiente para:

  • Executar o ficheiro executável do grupo de trabalhadores, porque o ficheiro executável tem de ser carregado na memória
  • Alocar memória no processo do grupo de trabalhadores
  • Escrever ficheiros no sistema de ficheiros

O tamanho da imagem do contentor implementado não afeta a memória disponível para a instância.

Defina e atualize os limites de memória

Pode definir limites de memória em pools de trabalhadores do Cloud Run. Por predefinição, a memória alocada a cada conjunto de trabalhadores é de 512 MiB.

CPUs mínimas necessárias

A quantidade de memória alocada que escolher corresponde a uma quantidade mínima de CPU para o seu conjunto de trabalhadores. Quando definir um limite de memória, são necessários os seguintes limites mínimos de CPU:

Memória CPUs mínimas necessárias
2 GiB 1 vCPU
Mais de 4 GiB 2 vCPU
Mais de 8 GiB 4 vCPU
Mais de 16 GiB 6 vCPU
Mais de 24 GiB 8 vCPU

Quantidade máxima de memória

A quantidade máxima de memória que pode configurar é de 32 gibibytes (32 Gi).

Pode aplicar um limite máximo de memória através de políticas de organização personalizadas.

Memória mínima

A definição de memória mínima é de 512 MiB.

Funções necessárias

Para receber as autorizações de que precisa para configurar e implementar pools de trabalhadores do Cloud Run, peça ao seu administrador que lhe conceda as seguintes funções da IAM:

Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu conjunto de trabalhadores do Cloud Run interage com Google Cloud APIs, como as bibliotecas de clientes da nuvem, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.

Configure os limites de memória

Qualquer alteração de configuração leva à criação de uma nova revisão. As revisões subsequentes também vão receber automaticamente esta definição de configuração, a menos que faça atualizações explícitas para a alterar.

Pode definir limites de memória para um conjunto de trabalhadores do Cloud Run através da Google Cloud consola, da CLI Google Cloud ou do Terraform:

Consola

  1. Na Google Cloud consola, aceda ao Cloud Run:

    Aceda ao Cloud Run

  2. Selecione Grupos de trabalhadores no menu e clique em Implementar contentor para configurar um novo grupo de trabalhadores. Se estiver a configurar um conjunto de trabalhadores existente, clique no conjunto de trabalhadores e, de seguida, em Editar e implementar nova revisão.

  3. Se estiver a configurar um novo conjunto de trabalhadores, preencha a página inicial do conjunto de trabalhadores e, em seguida, clique em Recipientes, volumes, rede, segurança para expandir a página de configuração dos conjuntos de trabalhadores.

  4. Clique no separador Contentor.

    imagem

    • Selecione o tamanho de memória pretendido na lista pendente Memória.
  5. Clique em Criar ou Implementar.

gcloud

Pode atualizar a atribuição de memória de um determinado conjunto de trabalhadores através do seguinte comando:

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

Substituir:

  • WORKER_POOL com o nome do seu conjunto de trabalhadores
  • SIZE com um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de vírgula flutuante ou fixo seguido de uma unidade: G ou M, que correspondem, respetivamente, a gigabyte ou megabyte, ou use os equivalentes de potência de dois: Gi ou Mi que correspondem, respetivamente, a gibibyte ou mebibyte.

Também pode definir limites de memória durante a implementação através do comando:

gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE

Substituir:

  • IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIZE com 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, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi correspondente a gibibyte ou mebibyte, respetivamente.

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          memory = "SIZE"
        }
      }
    }
  }
}

Substituir:

  • WORKER_POOL com o nome do grupo de trabalhadores.
  • REGION com a região Google Cloud . Por exemplo, europe-west1.
  • IMAGE_URL: uma referência à imagem do contentor que contém o conjunto de trabalhadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE com um tamanho de memória da tabela de CPU e memória. O formato do tamanho é um número de vírgula flutuante ou fixo seguido de uma unidade: G ou M, que correspondem, respetivamente, a gigabyte ou megabyte, ou use os equivalentes de potência de dois: Gi ou Mi que correspondem, respetivamente, a gibibyte ou mebibyte.

Veja a configuração de memória do conjunto de trabalhadores

  1. Na Google Cloud consola, aceda ao Cloud Run:

    Aceda ao Cloud Run

  2. Clique em Grupos de trabalhadores para apresentar a lista de grupos de trabalhadores implementados.

  3. Clique no conjunto de trabalhadores que quer examinar para apresentar o respetivo painel de detalhes.

  4. Clique no separador Contentores para apresentar a configuração de memória do conjunto de trabalhadores para cada contentor.