Problema

El uso de disco está aumentando anormalmente y rápidamente en un servidor AEM.

Causa

Muchas cosas pueden causar aumentos inusuales en la utilización del disco.  Algunas causas potenciales:

  1. No se ha realizado el mantenimiento adecuado en el sistema.  Consulte este artículo para obtener detalles sobre diversas actividades de mantenimiento del sistema.
  2. AEM o la aplicación está creando un gran número de nodos o actualizaciones de las propiedades de los nodos.  Esto puede deberse a una mala configuración o a un error en el código de la aplicación.  Dado que el almacenamiento del tar en Oak funciona en modo append-only, el ahorro repetido de nodos contribuye aún más al crecimiento excesivo del repositorio.
  3. Se han subido archivos muy grandes a AEM Assets o al gestor de paquetes.
  4. El registro de depuración o rastreo se dejó activado.

Análisis / Resolución

A. Si AEM se está ejecutando y hay suficiente espacio en disco

1. Configurar el registro de trazas de escritura Oak

Si AEM todavía está en ejecución, podemos habilitar un usuario de depuración para que nos diga en qué rutas del repositorio se está escribiendo.  Para habilitar este usuario, instale el paquete de configuración de registro adjunto a continuación o siga estos pasos:
  1. Vaya a http://aemhost:port/system/console/slinglog
  2. Haga clic en Añadir nuevo usuario
  3. Configurar un usuario: Log File: logs/repgrowth.log, Log Level: trace, Loggers: org.apache.jackrabbit.oak.jcr.operations.write

Descargar

Precaución:

  • El registro incluye información sobre todas las escrituras y los detalles de la sesión.  Si utiliza este usuario, asegúrese de que dispone de suficiente espacio en disco.
  • Desinstale el paquete de configuración de registro o elimine la configuración de registro después de un corto período de tiempo para evitar un mayor consumo de espacio en disco.

2. Ejecutar el informe de uso del disco

También puede aprovechar el Informe de uso del disco http://host:port/etc/reports/diskusage.html. Este informe muestra el espacio en disco utilizado por la ruta del repositorio.  El informe se puede perforar, lo que permite visualizar también subárboles.

3. Capturar vaciados de procesos y realizar perfiles

Después de usar repgrowth.log para tener una idea de qué datos se están escribiendo, podemos obtener información sobre qué código están escribiendo esos datos mediante la captura de volcado de subprocesos y la ejecución de perfiles de CPU.

Consulte los siguientes artículos:

B. Si el AEM está detenido y/o el espacio en disco está casi agotado

Si tuvo que detener AEM para evitar el crecimiento de espacio en disco, utilice los siguientes comandos para realizar un análisis inicial.

En un sistema Linux, aproveche el comando du para listar todos los directorios bajo crx-quickstart con el tamaño resumido de esos directorios:

du -h --max-depth=2 crx-quickstart

Utilice los comandos find y du para buscar archivos modificados recientemente y obtener sus tamaños:

find crx-quickstart -type f -mtime 1 -exec du -hs {} \; -print

Para encontrar archivos grandes en el almacén de datos, puede combinar los comandos find, du y file para encontrar archivos de más de 100 MB en el directorio datastore e identificar automáticamente su tipo de archivo:

find crx-quickstart/repository/datastore -type f -size +100M -exec sh -c "du -hs \"{}\"; file \"{}\"" \;

Si usted encuentra que el crecimiento está ocurriendo en el directorio de segmentstore entonces el comando de abajo puede ayudar a dar algunas pistas sobre qué datos se están escribiendo:

strings data_xxxxxxxx.tar | egrep '^.?/' | sed 's/.$//;s/^.\//\//'

Se aplica a

AEM 6.x / Oak

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea