Utilizzare la raccolta degli oggetti inattivi per rimuovere i file non utilizzati nel Data Store. CRX supporta l'archivio dati Jackrabbit, vederehttp://wiki.apache.org/jackrabbit/DataStore. Per impostazione predefinita, CRX utilizza il FileDataStore, ma è supportato anche il DbDataStore.
Per eseguire la raccolta degli oggetti inattivi:
- Esegui l'accesso come amministratore
- Nella console CRX, fai clic su Configurazione archivio.
- Fare clic su Archivio dati raccolta oggetti inattivi.
- Seleziona una o più opzioni tra quelle elencate:
Opzione | Descrizione |
---|---|
Esegui prima la raccolta degli oggetti inattivi | Per eseguire come prima cosa la raccolta di oggetti inattivi della memoria principale (nota anche come raccolta degli oggetti inattivi a mucchio). Questo processo elimina gli oggetti che si trovano ancora nella memoria principale, ma non più referenziati. L'Archivio dati raccolta oggetti inattivi recupera solo gli elementi che non sono più nella memoria principale. |
Elimina gli elementi non utilizzati | Selezionando questa opzione, i file non utilizzati vengono eliminati dal Data Store. Se questa opzione è disattivata, viene aggiornata solo la data dell'ultima modifica degli elementi utilizzati, ma non viene eliminato nessun file. Se più archivi stand-alone condividono un archivio dati, o se più cluster distinti condividono un archivio dati, non abilitare questa opzione. Invece, rimuovi manualmente i vecchi elementi o utilizza uno script. (Per esempio, eliminare i file più vecchi di una settimana dopo l'esecuzione della raccolta di dati memorizzati su ogni archivio). Un cluster è un archivio; ciò significa che è possibile abilitare "Elimina elementi non utilizzati" quando si utilizzano istanze di cluster multipli che condividono un archivio. |
Utilizza una scansione del gestore di persistenza | Quando questa opzione è abilitata, il processo utilizza una scansione di basso livello del gestore di persistenza se il gestore di persistenza supporta questa opzione. Selezionando questa opzione si velocizza il processo di raccolta degli oggetti inattivi, ma potrebbe rallentare le operazioni simultanee. Se l'opzione è disabilitata, viene utilizzato un algoritmo per i viaggi dei nodi di livello superiore. |
- Fai clic su Esegui.
Raccolta oggetti inattivi in un ambiente cluster
Archiviazione dati condivisa
Quando si utilizza un cluster CRX, la funzione Archivio dati raccolta oggetti inattivi può essere eseguita da qualsiasi nodo del cluster.
Archiviazione dati cluster
Quando si utilizza l'archivio dati del cluster (opzione di configurazione dell'archivio dati ClusterDataStore), esegui la raccolta degli oggetti inattivi su tutti i nodi del cluster separatamente.
Archiviazione dati multi-Repository
Se più archivi distinti usano lo stesso archivio dati contemporaneamente (come istanze di author e publish), non usare l'opzione Elimina. Il processo è invece il seguente:
- Esegui il backup dell'archivio dati.
- Accedi a CRX come amministratore.
- Esegui la raccolta dei dati dell'archivio degli oggetti inattivi senza che nessuna delle opzioni sia selezionata (assicurati che sia _non_ spuntata la casella 'Cancella elementi non utilizzati').
- Entro cinque giorni, eseguirlo su _tutti_ gli archivi che condividono un archivio dati. E' possibile impostare il ritardo a 0, ma aumenta il carico sul file system. Inoltre, l'esecuzione del processo contemporaneamente su tutti gli archivi è possibile, ma aumenta l'I/O sul file system che contiene l'archivio dati. Al termine di questo processo, i file dell'archivio dati hanno una nuova data di ultima modifica.
- Se il processo dura più di cinque giorni, aumentare il conteggio dei giorni durante l'eliminazione (7 per impostazione predefinita). Adobe consiglia di utilizzare un margine di due giorni.
- Per elencare i file più vecchi di sette giorni usando la seguente riga di comando:
find repository/datastore/* -mtime +7 -type f - Questo comando stampa il numero di byte che possono essere salvati:
find repository/datastore/* -mtime +7 -type f -exec ls -l {} {\; | awk 's+=$5 } FINE { print s }' - Elimina tutti i file più vecchi di sette giorni utilizzando la seguente riga di comando. ATTENZIONE: se l'archivio dati della raccolta degli oggetti inattivi non è stato eseguito negli ultimi giorni, elimina i file che sono ancora necessari.
trova repository/datastore/* -mtime +7 -type f -exec rm {} \;
Avvio della raccolta degli oggetti inattivi all'interno di un'applicazione
Per eseguire manualmente la raccolta degli oggetti inattivi, utilizza il seguente codice:
GarbageCollector gc; SessionImpl si = (SessionImpl)session; gc = si.createDataStoreGarbageCollector(); // optional (if you want to implement a progress bar / output):
gc.setScanEventListener(this); gc.scan(); gc.stopScan(); // could be a separate button, if multiple repositories use the same data store: gc.deleteUnused(); Changes in Data Store Garbage Collection from CQ5.5 onwards(Applies to crx 2.3.15 or later)
Da CQ 5.5 in poi il CRX che fornisce l'archivio è un servizio OSGi. Il CRX è registrato nel Registro di Servizio OSGi come servizio MBean. Questa MBean è disponibile nella console JMX che espone gli attributi e le operazioni di raccolta dati dell'archivio dati.
- Il file da eseguire è http://<host>:<port>/system/console/jmx/com.adobe.granite%3Atype%3DRepository
- Il nuovo ui ha solo un'opzione "Delete unused items" (Cancella elementi non utilizzati) che si può impostare a vero o falso in base al caso d'uso. Un esempio di comando curl con l'opzione false è [1].
- Le altre opzioni
- "Run memory garbage collection first" (Esegui prima la raccolta degli oggetti inattivi in memoria) non fa parte dell'ui archvio dati raccolta oggetti inattivi ed è disponibile all'indirizzo http://<host>:<port>/system/console/memoryusage.
- È stata rimossa l'opzione "Use a persistence manager scan".
- "Run memory garbage collection first" (Esegui prima la raccolta dei rifiuti di memoria) è stato spostato su http://<host>:<port>/system/console/memoryusage
- Il ritardo predefinito è impostato su 10. Per qualsiasi modifica, modificare una proprietà bean datiStoreGarbageCollectionDelay. Il comando di curl da impostare per 15 è mostrato in [2].
[1] curl -u admin:admin -X POST --data delete=false -H "Referer: http://<host>:<port>/system/console/jmx/com.adobe.granite%3Atype%3DRepository" http://<host>:<port>/system/console/jmx/com.adobe.granite%3Atype%3DRepository/op/runDataStoreGarbageCollection/java.lang.Boolean
[2] curl -u admin:admin -X POST --data value=15 -H "Referer: http://<host>:<port>/system/console/jmx/com.adobe.granite%3Atype%3DRepository" http://<host>:<port>/system/console/jmx/com.adobe.granite%3Atype%3DRepository/a/DataStoreGarbageCollectionDelay
AEM 5.6.1 (CRX 2.4.30+)
Il nuovo sistema improvvisato di raccolta rapida degli oggetti inattivi nei depositi di dati è stato implementato nel punto 5.6.1. Che ora è abilitato per impostazione predefinita (runDataStoreGarbageCollection). Per eseguire il vecchio metodo di raccolta degli oggetti inattivi del datastore, usare runDataStoreClassicGarbageCollection che esegue la raccolta degli oggetti inattivi dell'archivio dati evitando l'uso della raccolta degli oggetti inattivi TarPM ottimizzata.
- Se si esegue la raccolta degli oggetti inattivi "veloce" (runDataStoreGarbageCollection), assicurarsi di non interromperla utilizzando stopDataStoreGarbageCollection() fino a quando non si è installato 5.6.1 Hotfix 3241 (vedi sotto per l'URL Package Share e il file readme)
Scarica Hotfix 3241 dalla condivisione del pacchetto facendo clic.
Scarica