Problème

AEM se bloque à l'occasion avec l’erreur « Trop de fichiers ouverts ».

Résolution

Suivez les étapes indiquées dans cet article pour savoir si la limite maximale fixée pour les fichiers ouverts est insuffisante.

Si la valeur ulimit -n est d'au moins 8192, le problème connu peut être celui de scripts de surveillance dans AEM, entraînant le blocage du système en raison d'une fuite de descripteur de fichier.

Si vous constatez les erreurs ci-dessous dans les journaux, suivez les étapes ci-dessous :

14.03.2016 02:50:13.498 *ERROR* [Process Executor for diskusage.sh] com.adobe.granite.monitoring.impl.ShellScriptExecutorImpl Error while executing script /opt/publish/crx-quickstart/monitoring/diskusage.sh
java.io.IOException: Cannot run program "/opt/publish/crx-quickstart/monitoring/diskusage.sh" (in directory "/opt/publish/crx-quickstart/monitoring"): error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:620)
        at com.adobe.granite.monitoring.impl.ShellScriptExecutorImpl$ProcessExecutor.run(ShellScript ExecutorImpl.java:307)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 3 common frames omitted
14.03.2016 02:50:13.500 *ERROR* [Shell Script Executor Thread for cpu.sh] com.adobe.granite.monitoring.impl.ShellScriptExecutorImpl Unable to extract script 'cpu.sh' to '/opt/publish/crx-quickstart/monitoring/cpu.sh'
java.io.FileNotFoundException: cpu.sh
        at com.adobe.granite.monitoring.impl.ShellScriptExecutorImpl.extractScript(ShellScriptExecut orImpl.java:177)
        at com.adobe.granite.monitoring.impl.ShellScriptExecutorImpl.execute(ShellScriptExecutorImpl .java:112)
        at com.adobe.granite.monitoring.impl.ScriptMBean.invoke(ScriptMBean.java:99)
        at com.adobe.granite.monitoring.impl.ScriptMBean.invoke(ScriptMBean.java:158)
        at com.adobe.granite.monitoring.impl.ScriptConfigImpl$ExecutionThread.run(ScriptConfigImpl.j ava:209)
        at java.lang.Thread.run(Thread.java:745)


Les scripts de surveillance sont des threads supplémentaires dans le CQ (labellisé « Shell Script Executor Thread for... ») démarrés/arrêtés par la présence des configurations d'usine pour le composant « Adobe Granite Monitor Handler ».
2 configurations sont définies comme prêtes à l'emploi (scripts cpu.sh et diskusage.sh).

Pour résoudre ce problème, les configurations peuvent être supprimées :

AEM 6.x :

1. Se connecter comme utilisateur admin

2. Aller à http://host:port/system/console/configMgr

3. Rechercher com.adobe.granite.monitoring.impl.ScriptConfigImpl. Deux nœuds de configuration par défaut sous Adobe Granite Monitor Handler

4. Supprimer ces deux configurations

CQ5.x - CQ5.6.1:

Installer le module joint ou procéder comme suit :

  1. Se connecter comme utilisateur admin dans http://localhost:4502/crxde.
  2. Parcourir jusqu'à /libs/granite/monitoring/config
  3. Cliquer avec le bouton droit de la souris et supprimer chaque subnode de /libs/granite/monitoring/config
  4. Cliquez sur « Tout enregistrer ».
  5. Redémarrer CQ

Cette opération devrait supprimer les configurations et par conséquent arrêter les threads de surveillance.

Remarque :

Si les configurations ont été modifiées via la console Felix, elles seront conservées dans le système de fichiers.  Le cas échéant, supprimer les nœuds sling:OsgiConfig comme indiqué avant qu'il ne soit pas possible d'enlever la configuration.
Ouvrir la console Felix (http://host:port/system/console/configMgr) et supprimer les configurations d'usine sous « Adobe Granite Monitor Handler ».

 

S’applique à

CQ5.5 et versions ultérieures, AEM 6.x

Telechargement

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne