Aumentar el límite de memoria del contenedor CODE sin adivinar

Para asignar más memoria a un contenedor de Collabora Online CODE, aumente el límite de Docker en la configuración que lo crea, luego vuelva a crear el contenedor y confirme el límite efectivo con docker inspecto docker stats. Aumentar una configuración de la aplicación no incrementa el límite de Docker para contenedores, y el host o la máquina virtual de Docker Desktop deben tener suficiente memoria disponible para respetar un límite superior.

Ejemplo hipotético: Riley administra una implementación de Docker Compose en un único host. Supongamos que docker statsmuestra un límite de 2 GiB y un uso cercano a ese máximo mientras hay varios documentos abiertos. Riley está considerando un límite de 4 GiB. Estas cifras son solo ejemplos; no constituyen una recomendación de dimensionamiento de Collabora, una afirmación sobre el rendimiento ni un resultado de pruebas. El límite debe basarse en la carga observada y la capacidad del host.

1. Confirme que el contenedor realmente está tocando su tapa.

Ejecute estos comandos en el host de Docker, reemplazando collaboracon el nombre real del contenedor:

docker stats --no-stream collabora
docker inspect --format 'Memory={{.HostConfig.Memory}} OOMKilled={{.State.OOMKilled}}' collabora

docker statsMuestra el uso actual y el límite del contenedor. La salida de inspección informa el límite de memoria configurado en bytes y si Docker registra el contenedor como OOM-killed. Un valor de inspección de 0significa que Docker no tiene un límite estricto explícito para ese contenedor; no significa que la máquina tenga RAM ilimitada. Una lectura alta por sí sola no es prueba de un evento de falta de memoria, por lo que debe compararse con el historial de reinicios, los registros y el momento en que los usuarios vieron fallas.

Ilustración de la terminal de las estadísticas de Docker que muestra un contenedor hipotético de Collabora utilizando 1,8 GiB bajo un límite de 2 GiB, etiquetado como ejemplo.
Ejemplo de diagnóstico hipotético: el contenedor CODE se está acercando a su límite configurado de 2 GiB.

Antes de aumentar el límite, compruebe cuánta RAM queda para el sistema operativo y otros servicios. La guía de recursos de Docker recomienda probar la demanda de la aplicación y ejecutar contenedores en hosts con recursos suficientes. En Docker Desktop, compruebe también Configuración > Recursos : la memoria asignada a la máquina virtual de Docker es un límite independiente compartido por sus contenedores. Aumentar el límite de CODE más allá de esa asignación no puede crear más memoria física; consulte la configuración de recursos de Docker Desktop .

2. Cambiar el límite del servicio Compose

Edita el servicio CODE existente en tu archivo Compose. Conserva su etiqueta de imagen, puertos, entorno, volúmenes, redes y política de reinicio actuales; agrega o actualiza solo la configuración de memoria. Para el ejemplo hipotético de 4 GiB de Riley:

services:
  collabora:
    image: collabora/code:your-current-tag
    mem_limit: 4g
    # Keep the service’s existing settings below
Ilustración del editor YAML que resalta mem_limit: 4g en un servicio de Collabora usando la etiqueta de imagen existente.
Ejemplo de composición: establecer el límite de memoria a nivel de servicio manteniendo la etiqueta de imagen CODE implementada.

Este ejemplo utiliza la imagen oficial de Docker CODE de Collabora ; conserve la etiqueta que ya utiliza su implementación. mem_limites un límite máximo, no una reserva: Docker puede permitir que el contenedor utilice hasta esa cantidad, pero la configuración no reserva tanta RAM en el host. La referencia del servicio Docker Compose define mem_limity dice que debe coincidir con deploy.resources.limits.memorysi ambos están presentes. Si su implementación utiliza un orquestador o un archivo Compose administrado por la plataforma, utilice el campo de recursos admitido de esa plataforma y mantenga la coherencia de los valores de límite duplicados.

Si iniciaste CODE directamente con docker run, recréalo desde el comando original con --memory=4gy conserva todas sus opciones actuales. Para un cambio rápido en tiempo de ejecución en un contenedor Linux existente, Docker también admite docker update --memory 4g <container_name>. Trata el archivo Compose o el comando de ejecución original como la fuente de verdad para que un reemplazo posterior no restaure la capacidad anterior. Consulta la referencia de actualización de contenedores Docker .

3. Recrea el CÓDIGO para que el límite guardado surta efecto.

Desde el directorio que contiene el archivo Compose activo, valide la configuración combinada y, a continuación, vuelva a crear únicamente el servicio CODE:

docker compose config
docker compose up -d --no-deps --force-recreate collabora

Utilice la clave de servicio de su archivo en lugar de collabora. Revise la configuración renderizada para el nuevo límite antes de aplicarlo. Recrear CODE interrumpe brevemente las sesiones de edición que dependen de ese contenedor, así que programe el cambio cuando una breve interrupción del servicio sea aceptable. No elimine volúmenes ni ejecute docker compose down -v; esas operaciones son innecesarias para un cambio de límite de memoria y pueden eliminar datos persistentes pertenecientes a otros servicios.

Ilustración de la terminal que muestra la configuración de docker compose seguida de docker compose up sin dependencias y la recreación forzada del servicio collabora.
Aplique la configuración de Compose editada y vuelva a crear únicamente el servicio CODE.

4. Verifique la nueva tapa y compruebe su comportamiento bajo carga.

Una vez que el servicio se restablezca, verifique el contenedor real, no solo el archivo YAML:

docker inspect --format 'Memory={{.HostConfig.Memory}} OOMKilled={{.State.OOMKilled}}' collabora
docker stats --no-stream collabora

Para el valor de ejemplo 4g, la salida de inspección debería representar aproximadamente 4 GiB en bytes y docker statsmostrar un límite cercano a 4 GiB. La imagen a continuación utiliza una salida de ejemplo solo con fines ilustrativos. Luego, observe el código mientras abre los tipos de documentos y el número aproximado de sesiones simultáneas relevantes para su implementación. Confirme que el contenedor permanece en ejecución, que los errores visibles para el usuario cesan y que el host conserva memoria para sus otros procesos.

Ilustración de la terminal donde Docker inspect informa un límite de memoria de 4294967296 bytes y docker stats muestra un límite de 4 GiB, etiquetado como salida de muestra esperada en lugar de una prueba.
Patrón de verificación esperado para la configuración ficticia de 4 GiB; estos valores mostrados son una salida de ejemplo, no una implementación medida.

Si el problema continúa

Si el nuevo límite está presente pero CODE se reinicia, inspeccione docker inspectel estado docker logsy los eventos del kernel o Docker del host en busca de un registro de falta de memoria. Si el contenedor se mantiene en buen estado pero el procesamiento de documentos sigue activando la limpieza, es posible que Docker no sea el cuello de botella activo. coolwsdLa configuración propia de Collabora tiene un comportamiento de administración de memoria independiente del límite de cgroup de Docker; la plantilla de configuración del proyecto documenta sus controles del lado del servidor. Verifique la configuración de su versión de CODE instalada antes de modificarla.

No intente solucionar la incertidumbre asignando memoria ilimitada al contenedor ni desactivando el mecanismo de eliminación de procesos por falta de memoria. Docker advierte que un contenedor sin límite de memoria puede contribuir al agotamiento de la memoria del host y afectar a servicios no relacionados. Si el host no dispone de suficiente capacidad, la solución real consiste en aumentar la capacidad del host o de la máquina virtual Docker, reducir la carga de trabajo concurrente o distribuir las tareas, no en aumentar el límite más allá de la RAM disponible.

Dejar un comentario

Aumentar el límite de memoria del contenedor CODE sin adivinar

Aumentar el límite de memoria del contenedor CODE sin adivinar

Compruebe si Docker está limitando el límite de memoria de Collabora CODE, aumente de forma segura el límite de memoria de Compose y confirme que el contenedor en ejecución ha recibido el nuevo límite.

Personaliza las barras de herramientas de Collabora CODE sin editar el código fuente.

Personaliza las barras de herramientas de Collabora CODE sin editar el código fuente.

Simplifique Collabora CODE con el modo compacto o con pestañas y los controles WOPI PostMessage para ocultar de forma segura los botones, comandos y pestañas seleccionados.

Ejecuta Collabora CODE detrás de Nginx con terminación TLS.

Ejecuta Collabora CODE detrás de Nginx con terminación TLS.

Configurar Nginx para que se encargue del HTTPS en un contenedor Collabora CODE, reenviar correctamente la edición de WebSockets y verificar el punto final público sin exponer el puerto 9980.

Mantener el texto visible cuando se abre el teclado móvil de Collabora

Mantener el texto visible cuando se abre el teclado móvil de Collabora

Solucione el problema de que el teclado del navegador móvil cubra el texto en Collabora Online, con soluciones rápidas y comprobaciones independientes para navegadores, WebViews integrados y páginas anfitrionas.

Evita impresiones y descargas no deseadas en ONLYOFFICE.

Evita impresiones y descargas no deseadas en ONLYOFFICE.

Establezca límites de impresión y descarga para los enlaces de ONLYOFFICE, los miembros de la sala o las sesiones de la API de Docs, y luego verifique las restricciones desde la cuenta del destinatario.

Programe copias de seguridad confiables para ONLYOFFICE Workspace.

Programe copias de seguridad confiables para ONLYOFFICE Workspace.

Configure un destino de copia de seguridad, una programación, la cobertura de correo electrónico y un límite de retención en ONLYOFFICE Workspace y, a continuación, verifique que el archivo esté listo para su restauración.

Implementa ONLYOFFICE Docs Enterprise con su archivo Compose oficial.

Implementa ONLYOFFICE Docs Enterprise con su archivo Compose oficial.

Inicie la pila de Docker Compose Enterprise, guarde su licencia y datos, configure JWT de forma segura y confirme que los editores están listos para integrarse.

Limpiar el texto de una hoja de cálculo con una macro reutilizable de ONLYOFFICE.

Limpiar el texto de una hoja de cálculo con una macro reutilizable de ONLYOFFICE.

Utilice una macro JavaScript de ONLYOFFICE para eliminar caracteres no imprimibles y recortar espacios adicionales de un rango definido de una hoja de cálculo, con un flujo de trabajo de revisión seguro.

Cambiar la ubicación de almacenamiento predeterminada del espacio de trabajo de ONLYOFFICE

Cambiar la ubicación de almacenamiento predeterminada del espacio de trabajo de ONLYOFFICE

Traslada los datos del portal desde el disco predeterminado a un proveedor de almacenamiento en la nube compatible, o reubica los datos de Docker de forma segura cambiando su asignación de volumen de host.

Eliminar completamente ONLYOFFICE Document Server de Linux

Eliminar completamente ONLYOFFICE Document Server de Linux

Identifique si Document Server utiliza un paquete de Linux o Docker, elimine solo sus componentes y compruebe los datos restantes sin borrar por error los servicios compartidos.