Puedes elegir la cantidad de memoria que deseas proporcionar para tu trabajo de Cloud Run. En esta página, se describe cómo especificar la cantidad de memoria disponible para tu trabajo.
Comprende el uso de la memoria
Las instancias de Cloud Run que superan el límite de memoria permitido se finalizan.
La memoria disponible para tu instancia debe ser suficiente para lo siguiente:
- Ejecutar el ejecutable del trabajo, ya que este debe cargarse en la memoria
- Asignar memoria en el proceso de tu trabajo
- Escribir archivos en el sistema de archivos
El tamaño de la imagen de contenedor implementada no afecta la memoria disponible para la instancia.
Configura y actualiza los límites de memoria
Puedes establecer límites de memoria en los trabajos de Cloud Run. De forma predeterminada, la memoria asignada a cada trabajo es de 512 MiB, y la memoria asignada a una función es de 256 MiB.
Memoria requerida cuando se establece un valor de CPU
Cuando se establece un valor de CPU, se requiere la siguiente memoria:
| CPU | Memoria requerida |
|---|---|
| 1 CPU virtual | 512 MiB a 4 GiB |
| 2 CPU virtuales | 512 MiB a 8 GiB |
| 4 CPU virtuales | De 2 a 16 GiB |
| 6 CPU virtuales | De 4 a 24 GiB |
| 8 CPU virtuales | 4 a 32 GiB |
Cantidad máxima de memoria
La cantidad máxima de memoria que puedes configurar es de 32 gibibyte (32 Gi).
Memoria mínima
El parámetro de configuración de memoria mínimo es de 512 MiB.
Consideraciones de costo
El costo de tu trabajo de Cloud Run se ve afectado por su configuración de memoria y el tiempo que tu recurso está activo, entre otros factores. El aprovisionamiento excesivo de tus recursos puede aumentar tus costos. Para determinar qué configuración de memoria podría ser mejor para tu recurso, haz lo siguiente:
- Establece una configuración de referencia inicial.
- Supervisa las métricas de utilización de memoria en Cloud Monitoring mientras pruebas el sistema bajo carga.
- Ajusta la configuración según sea necesario.
Si el uso de memoria es constantemente bajo, considera reducir la memoria asignada. Si la latencia es alta y la utilización de la memoria se acerca al 100%, considera aumentar la memoria asignada. Si experimentas errores de memoria insuficiente (OOM), debes aumentar la memoria asignada o modificar tu aplicación para evitar pérdidas de memoria y usar menos memoria. Consulta el panel de Cloud Monitoring para comprender mejor tu uso de memoria.
Revisa los precios de Cloud Run o estima los costos con la calculadora de precios para obtener más información.
Roles obligatorios
Para obtener los permisos que necesitas para configurar los trabajos de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Desarrollador de Cloud Run (
roles/run.developer) en el trabajo de Cloud Run - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) en la identidad del servicio
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con lasGoogle Cloud APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta los permisos de implementación y cómo administrar el acceso.
Configura límites de memoria
Debes especificar un mínimo de 512 Mi para un trabajo de Cloud Run.
Puedes configurar límites de memoria para un trabajo de Cloud Run con laGoogle Cloud consola, gcloud CLI, YAML o Terraform:
Console
En la consola Google Cloud , ve a la página de Cloud Run:
Selecciona Trabajos en el menú de navegación de Cloud Run:
Si creas un trabajo nuevo, haz clic en Implementar contenedor para completar la página de configuración de trabajo inicial.
Si quieres configurar un trabajo existente, selecciónalo y, luego, haz clic en Ver y editar la configuración del trabajo.
Haz clic en Contenedores, Conexiones, Seguridad para expandir la página de propiedades del trabajo.
En la pestaña Contenedores, selecciona el tamaño de memoria de la lista Memoria.
Haz clic en Crear o Actualizar.
gcloud
Para establecer límites de memoria cuando creas un trabajo nuevo, ejecuta el siguiente comando:
gcloud run jobs create JOB --image IMAGE_URL --memory SIZE
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.SIZE: Es el tamaño de la memoria. El formato del tamaño es un número de punto fijo o flotante seguido de una unidad:GoM, que corresponde a gigabytes o megabytes, respectivamente, o usa equivalentes a la potencia de dos:GioMicorrespondientes a gibibyte o mebibyte, respectivamente.
Para establecer límites de memoria cuando actualizas un trabajo existente, ejecuta el siguiente comando:
gcloud run jobs update JOB --memory SIZE
YAML
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB --format export > job.yaml
Actualiza el atributo
memory:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE_URL resources: limits: memory: SIZE
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,us-docker.pkg.dev/cloudrun/container/job:latest.SIZE: Es el tamaño de la memoria, con un mínimo de 512 Mi. El formato es un número fijo o de punto flotante seguido de una unidad:GoMcorrespondiente a gigabyte o megabyte, respectivamente, o usa la potencia de dos equivalentes:GioMique corresponde a gibibyte o mebibyte, respectivamente.
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
El comando
gcloud run jobs replaceusa de forma predeterminada el archivojob.yamlsi está presente.
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a un recursogoogle_cloud_run_v2_job en tu configuración de Terraform:resource "google_cloud_run_v2_job" "default" {
name = "JOB"
location = "REGION"
deletion_protection = false
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
resources {
limits = {
cpu = "2"
memory = "SIZE"
}
}
}
}
}
}
Reemplaza lo siguiente:
JOBpor el nombre del trabajo de Cloud Run.REGION: La Google Cloud región Por ejemplo,europe-west1.SIZE: Es el tamaño de memoria requerido, con un mínimo de 512 Mi. El formato es un número fijo o de punto flotante seguido de una unidad:GoMcorrespondiente a gigabyte o megabyte, respectivamente, o usa la potencia de dos equivalentes:GioMique corresponde a gibibyte o mebibyte, respectivamente.
Visualiza la configuración del límite de memoria
Para ver la configuración actual del límite de memoria de tu trabajo de Cloud Run, usa la Google Cloud consola o Google Cloud CLI:
Console
En la Google Cloud consola, ve a la página de trabajos de Cloud Run:
Haz clic en el trabajo para abrir la página Detalles del trabajo.
Haz clic en Ver y editar la configuración del trabajo.
Ubica la configuración del límite de memoria en los detalles de configuración.
gcloud
Ejecuta el comando siguiente:
gcloud run jobs describe JOB
Ubica la configuración del límite de memoria en la configuración que se muestra.