Puedes elegir la cantidad de memoria que deseas proporcionar para tu instancia de Cloud Run. En esta página, se describe cómo especificar la cantidad de memoria disponible para tu instancia.
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 de la instancia, ya que este debe cargarse en la memoria
- Asignar memoria en el proceso de la instancia
- 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 las instancias de Cloud Run. De forma predeterminada, la memoria asignada a cada instancia es de 2 GiB .
Memoria obligatoria cuando se establece un valor de CPU
Cuando se establece un valor de CPU, se requiere la siguiente memoria:
| CPU | Memoria obligatoria |
|---|---|
| 1 CPU virtual | 512 MiB a 4 GiB |
| 2 CPU virtuales | 512 MiB a 8 GiB |
| 4 CPU virtuales | 2 a 16 GiB |
| 6 CPU virtuales | 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
La configuración de memoria mínima es de 512 MiB.
Consideraciones de costo
El costo de tu instancia 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 inicial de referencia.
- 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 la utilización de la memoria es constantemente baja, considera reducir la memoria asignada. Si la latencia es alta y la utilización de la memoria está cerca del 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 el uso de la 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 y, luego, implementar las instancias de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Desarrollador de Cloud Run (
roles/run.developer) en la instancia 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 instancia de Cloud Run interactúa con Google Cloud las 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 permisos de implementación y administra el acceso.
Configura límites de memoria
Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.
Puedes establecer límites de memoria para una instancia de Cloud Run con Google Cloud CLI o YAML:
gcloud
Puedes actualizar la asignación de memoria de una instancia determinada mediante el siguiente comando:
gcloud beta run instances update INSTANCE --memory SIZE
Reemplaza lo siguiente:
- INSTANCE: el nombre de tu instancia
- SIZE: un tamaño de memoria de la tabla de CPU y memoria.
El formato del tamaño es un número de punto fijo o flotante seguido
de una unidad:
GoMque corresponde a gigabytes o megabytes, respectivamente, o usa equivalentes a la potencia de dos:GioMicorrespondientes a gibibyte o mebibyte, respectivamente.
También puedes establecer límites de memoria durante la implementación mediante el siguiente comando:
gcloud beta run instances deploy --image IMAGE_URL --memory SIZE
Reemplaza lo siguiente:
IMAGE_URL: una referencia a la imagen del contenedor, comous-docker.pkg.dev/cloudrun/container/hello:latest.- SIZE: un tamaño de memoria de la tabla de CPU y memoria. El formato del tamaño es un número de punto fijo o flotante seguido de una unidad: `G` o `M`, que corresponde a gigabytes o megabytes, respectivamente, o usa equivalentes a la potencia de dos: `Gi` o `Mi` correspondientes a gibibyte o mebibyte, respectivamente.
YAML
Si creas una instancia nueva, omite este paso. Si actualizas una instancia existente, descarga su configuración de YAML:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
En el siguiente ejemplo, se incluye la configuración de YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - image: IMAGE_URL resources: limits: memory: SIZE
Reemplaza lo siguiente:
- INSTANCE: el nombre de tu instancia de Cloud Run.
IMAGE_URL: una referencia a la imagen del contenedor, comous-docker.pkg.dev/cloudrun/container/hello:latest.- SIZE: el tamaño de memoria elegido.
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:GioMicorrespondiente a gibibyte o mebibyte, respectivamente.
Crea o actualiza la instancia con el siguiente comando:
gcloud beta run instances replace instance.yaml