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:
-
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 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
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 Editar.
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
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
ouM
, que corresponde, respetivamente, a gigabyte ou megabyte, ou use os equivalentes de potência de dois:Gi
ouMi
, 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 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
ouM
, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois:Gi
ouMi
, 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"
}
}
}
}
}
}
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
ouM
, que corresponde a gigabyte ou megabyte, respetivamente, ou use os equivalentes de potência de dois:Gi
ouMi
, 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.