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 ficheiro executável da tarefa, porque o ficheiro 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 limites de memória
Pode definir limites de memória em tarefas do Cloud Run. Por predefinição, a memória alocada a cada trabalho é de 512 MiB.
Memória necessária ao definir um valor de CPU
Quando define um valor de CPU, é necessária a seguinte memória:
| CPUs | Memória necessária |
|---|---|
| 1 vCPU | 128 MiB a 4 GiB |
| 2 vCPU | 128 MiB a 8 GiB |
| 4 vCPU | 2 a 16 GiB |
| 6 vCPU | 4 a 24 GiB |
| 8 vCPU | 4 a 32 GiB |
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:
-
Programador do Cloud Run (
roles/run.developer) na tarefa do Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
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 interage com Google Cloud APIs, como as bibliotecas de clientes 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
Na Google Cloud consola, aceda à página Tarefas do Cloud Run:
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 Ver e editar configuração da tarefa.
Clique em Recipientes, volumes, ligações, segurança para expandir a página de propriedades da tarefa.
Clique no separador Contentor.
- Selecione o tamanho de memória pretendido na lista pendente Memória.
Clique em Criar ou Atualizar.
gcloud
Para definir limites de memória quando cria uma tarefa:
gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE
Substituição:
- 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:
GouM, que corresponde, respetivamente, a gigabyte ou megabyte, ou use os equivalentes de potência de dois:GiouMi, que corresponde, respetivamente, a gibibyte ou mebibyte.
Para definir limites de memória quando atualiza uma tarefa:
gcloud run jobs update JOB_NAME --memory SIZE
YAML
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
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 da memória pretendido, especificando um mínimo de 512 Mi. O formato é um número de ponto fixo ou flutuante seguido de uma unidade:
GouM, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois:GiouMi, que corresponde a gibibyte ou mebibyte, respetivamente.Também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.
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 recursogoogle_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"
}
}
}
}
}
}
Substituição:
- REGION com a região Google Cloud . Por exemplo,
europe-west1. - SIZE com o tamanho de 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:
GouM, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois:GiouMi, 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
Na Google Cloud consola, aceda à página Tarefas do Cloud Run:
Clique no trabalho que lhe interessa para abrir a página Detalhes do trabalho.
Clique em Ver e editar configuração da tarefa.
Localize a definição do limite de memória nos detalhes da configuração.
gcloud
Use o seguinte comando:
gcloud run jobs describe JOB_NAME
Localize a definição do limite de memória na configuração devolvida.