Configure limites de memória para trabalhos

Pode escolher a quantidade de memória a disponibilizar para a tarefa do Cloud Run. Esta página descreve como especificar a quantidade de memória disponível para a sua tarefa.

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 executável da tarefa, porque o executável tem de ser carregado na memória
  • Alocar memória no processo do trabalho
  • 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 tarefas do Cloud Run. Por predefinição, a memória alocada a cada tarefa é 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 a sua tarefa. 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
128 MiB 0,083 vCPU
256 MiB .167 vCPU
512 MiB 0,333 vCPU
1 GiB 0,583 vCPU
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).

Memória mínima

A quantidade mínima de memória que pode configurar no ambiente de execução de segunda geração é de 512 MiB.

Funções necessárias

Para receber as autorizações de que precisa para configurar tarefas do Cloud Run, peça ao seu administrador para lhe conceder as seguintes funções de 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 a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, 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

Tem de especificar um mínimo de 512 Mi para uma tarefa do Cloud Run. Para especificar a memória de uma tarefa do Cloud Run:

Consola

  1. Na Google Cloud consola, aceda à página Tarefas do Cloud Run:

    Aceda ao Cloud Run

  2. Selecione Tarefas no menu e clique em Implementar contentor para preencher a página de definições iniciais da tarefa. Se estiver a configurar uma tarefa existente, selecione a tarefa e, de seguida, clique em Editar.

  3. Clique em Recipientes, volumes, ligações, segurança para expandir a página de propriedades da tarefa.

  4. Clique no separador Contentor.

    imagem

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

gcloud

  1. Para definir limites de memória quando cria uma tarefa:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE

    Substituir:

    • JOB_NAME com o nome do seu trabalho.
    • IMAGE_URL: uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE com o tamanho da memória pretendido. O formato do tamanho é um número de vírgula fixa ou flutuante seguido de uma unidade: G ou M, que corresponde, respetivamente, a gigabyte ou megabyte, ou use os equivalentes de potência de dois: Gi ou Mi, que corresponde, respetivamente, a gibibyte ou mebibyte.
  2. Para definir limites de memória quando atualiza uma tarefa:

    gcloud run jobs update JOB_NAME --memory SIZE

YAML

  1. Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Atualize o atributo memory:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                memory: SIZE

    Substitua SIZE pelo tamanho de memória pretendido, especificando um mínimo de 512 Mi. O formato é um número de ponto fixo ou flutuante seguido de uma unidade: G ou M, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi, que corresponde a gibibyte ou mebibyte, respetivamente.

    Também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.

  3. Atualize a configuração da tarefa existente:

    gcloud run jobs replace job.yaml

Terraform

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

Adicione o seguinte a um recurso google_cloud_run_v2_job na sua configuração do Terraform:

resource "google_cloud_run_v2_job" "default" {
  name     = "cloudrun-job"
  location = "REGION"
  deletion_protection = false

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        resources {
          limits = {
            cpu    = "2"
            memory = "SIZE"
          }
        }
      }
    }
  }
}

Substituir:

  • REGION com a região Google Cloud . Por exemplo, europe-west1.
  • SIZE com o tamanho da memória necessário, especificando um mínimo de 512 Mi. O formato é um número de ponto fixo ou flutuante seguido de uma unidade: G ou M, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois: Gi ou Mi, que corresponde a gibibyte ou mebibyte, respetivamente.

Veja as definições do limite de memória

Para ver as definições atuais do limite de memória para a sua tarefa do Cloud Run:

Consola

  1. Na Google Cloud consola, aceda à página Tarefas do Cloud Run:

    Aceda às tarefas do Cloud Run

  2. Clique no trabalho que lhe interessa para abrir a página Detalhes do trabalho.

  3. Clique em Ver e editar configuração da tarefa.

  4. Localize a definição do limite de memória nos detalhes da configuração.

gcloud

  1. Use o seguinte comando:

    gcloud run jobs describe JOB_NAME
  2. Localize a definição do limite de memória na configuração devolvida.