Problema

L'utilizzo del disco sta crescendo in modo anomalo e rapido su un server AEM.

Causa

Molte cose possono causare aumenti insoliti nell'utilizzo del disco.  Alcune cause potenziali:

  1. Non è stata eseguita una corretta manutenzione del sistema.  Vedere questo articolo per i dettagli sulle varie attività di manutenzione del sistema.
  2. AEM o l'applicazione sta creando un gran numero di nodi o aggiornamenti alle proprietà dei nodi.  Questo potrebbe essere dovuto a un errore di configurazione o a un bug nel codice dell'applicazione.  Poiché tar storage in Oak opera in modalità "append-only", il ripetuto salvataggio dei nodi contribuisce ulteriormente all'eccessiva crescita degli archivi.
  3. File molto grandi sono stati caricati su AEM Assets o package manager.
  4. Il Debug o Trace logging è stato lasciato attivato.

Analisi / Risoluzione

A. Se AEM è in funzione e c'è ampio spazio su disco

1. Configura Oak write trace logging

Se AEM è ancora in esecuzione, possiamo abilitare un logger di debug per dirci su quali percorsi dell'archivio vengono scritti.  Per abilitare questo registro, installa il pacchetto di configurazione del registro allegato qui sotto o segui questi passaggi:
  1. Vai a http://aemhost:port/system/console/slinglog
  2. Fai clic su Aggiungi nuovo registro
  3. Configurare un registro: File di registro: log/repgrowth.log, Livello di registro: traccia, Registratori: org.apache.jackrabbit.oak.jcr.operations.writes

Scarica

Attenzione:

  • Il registro include informazioni riguardanti tutti gli scritti e i dettagli della sessione.  Se si utilizza questo registro, assicurarsi di disporre di spazio su disco sufficiente.
  • Disinstalla il pacchetto di configurazione dei registri o rimuovi la configurazione dei registri dopo un breve periodo di abilitazione per evitare un ulteriore consumo di spazio su disco.

2. Esegui il report di utilizzo del disco

È inoltre possibile utilizzare il report sull'utilizzo del disco http://host:port/etc/reports/diskusage.html. Questo report mostra lo spazio su disco utilizzato dal percorso dell'archivio.  Il report è apribile, permettendoti di vedere anche i sottoalberi.

3. Cattura le immagini di thread ed esegui il profiling

Dopo aver usato il file repgrowth.log per avere un'idea di quali dati vengono scritti, possiamo ottenere informazioni su quale codice sta scrivendo quei dati catturando le immagini di thread ed eseguendo il profiling della CPU.

Vedi questi articoli:

B. Se AEM è fermo e/o lo spazio su disco è quasi esaurito

Se è stato necessario fermare AEM per evitare la crescita dello spazio su disco, utilizza i comandi sottostanti per effettuare un'analisi iniziale.

Su piattaforma Linux, utilizza il comando du per elencare tutte le directory sotto crx-quickstart con la dimensione riassunta di quelle directory:

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

Usa i comandi find e du per trovare i file modificati di recente e ottenere le loro dimensioni:

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

Per trovare i file di grandi dimensioni nel datastore, è possibile combinare i comandi find, du e file per trovare i file superiori a 100MB nella directory del datastore e auto-identificare il loro tipo di file:

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

Se trovate che la crescita sta avvenendo nella directory segmentstore allora il comando qui sotto può aiutare a dare alcuni indizi su quali dati vengono scritti:

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

Prodotti interessati:

AEM6.x / Oak

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online