Dépannage des problèmes de saturation de la mémoire des segments de mémoire Java et des métasespaces dans Adobe Experience Manager 6.5.24
Découvrez comment diagnostiquer et résoudre les erreurs de mémoire insuffisante de tas Java et de métasapaces dans les instances d’auteur et d’éditeur d’AEM 6.5.24.
Description description
Environnement
Adobe Experience Manager (AEM) 6.5.24 Instances d’auteur et d’éditeur, applicable à tout environnement de déploiement (développement, évaluation ou production).
Symptômes
-
Augmentation significative de l’utilisation du tas Java et/ou des métadonnées au fil du temps.
-
Les instances ne répondent plus ou se bloquent en raison de conditions OutOfMemoryError répétées.
-
Les journaux d’erreurs contiennent des messages tels que :
- java.lang.OutOfMemoryError : espace de tas Java
- org.osgi.framework.ServiceException : exception de fabrique de services : espace de tas Java
-
Messages d’erreur fréquents liés aux échecs de résolution des ressources, tels que :
- Ressource introuvable pour les erreurs de chemin réel lors de la résolution de chemins de page inexistants
- Erreurs d’adaptation du modèle, (par exemple : le modèle est nul, page introuvable)
Cause
Les conditions OutOfMemory sont principalement dues à l’épuisement du tas Java associé à des erreurs de résolution de ressources répétées et au traitement au niveau de l’application. Il n’existe aucun défaut de produit spécifique à Metaspace confirmé dans AEM 6.5.24. Une analyse plus approfondie des images mémoire et du code de l’application est nécessaire pour isoler et corriger la cause première.
Résolution resolution
Suivez les étapes ci-dessous pour résoudre le problème :
-
Collecter des données de diagnostic :
-
Rassemblez les journaux d’erreurs, les images mémoire et les images mémoire des threads des instances d’auteur et d’éditeur au moment de l’erreur OutOfMemory.
-
Consultez les journaux de récupération de l’espace mémoire (GC) pour obtenir des preuves d’épuisement des segments Metasspace ou Java.
-
-
Analysez les images mémoire :
-
Utilisez un outil tel que Eclipse Memory Analyzer (MAT) pour identifier les objets ou les classes ayant la taille de tas retenue la plus élevée.
-
Recherchez une rétention d’objet anormale, des fuites de mémoire ou une activité de résolution de ressource excessive.
-
-
Vérifier le code de demande :
-
Examinez le code personnalisé, en particulier les composants impliqués dans la résolution des ressources et l’adaptation des modèles.
-
Résolvez tous les modèles qui peuvent entraîner une rétention excessive de mémoire ou des erreurs répétées.
-
-
Recherchez les problèmes connus :
-
Passez en revue la version de
org.apache.sling.jcr.resourceutilisée pour tout problème connu lié aux écouteurs de ressources ou à la rétention de session. -
Consultez les notes de mise à jour d’Adobe AEM et les forums Experience League (par exemple : la Communauté AEM Experience League) pour connaître les correctifs ou les packs de services traitant les problèmes de mémoire dans AEM 6.5.24.
-
-
Optimiser la résolution des ressources :
-
Réduisez les tentatives inutiles de résolution des ressources pour les chemins inexistants.
-
Gérez les adaptations de modèles nuls de manière élégante pour éviter une journalisation des erreurs et une utilisation de la mémoire excessives.
-
-
Surveillez et ajustez les paramètres JVM :
-
Examinez et ajustez les paramètres Métasspace JVM et Taille du tas en fonction de votre charge de travail.
-
Surveillez les tendances de la mémoire après l’application du code et des modifications de configuration.
-
Après avoir effectué ces étapes, vérifiez que l’utilisation de la mémoire se stabilise et que les erreurs de mémoire insuffisante ne se produisent plus.