AEM 故障排除 troubleshooting-aem

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

以下部分涵盖您在使用AEM时可能遇到的一些问题,以及有关如何对这些问题进行故障诊断的建议。

NOTE
如果您要对AEM中的创作问题进行故障诊断,请参阅 针对作者的疑难解答。
NOTE
遇到问题时,也值得查看 已知问题 例如,您的实例(版本和Service Pack)。

管理员故障诊断方案 troubleshooting-scenarios-for-administrators

下表概述了管理员可能需要解决的问题:

角色
问题
系统管理员
双击快速入门Jar不起任何作用,或者使用其他程序(例如,存档管理器)打开Jar文件
系统管理员
我在CRX上运行的应用程序会引发内存不足错误
系统管理员
双击“AEM CM快速入门”后,浏览器中不会显示“AEM欢迎”屏幕

系统管理员

管理员用户

进行线程转储

系统管理员

管理员用户

检查未关闭的JCR会话

安装问题 installation-issues

请参阅 常见安装问题 有关以下故障诊断情景的信息:

  • 双击快速入门Jar不起作用,或者JAR文件与其他程序(如存档管理器)一起使用。
  • 在CRX上运行的应用程序出现内存不足错误。
  • 双击“AEM快速入门”后,浏览器中不会显示“AEM欢迎”屏幕。

分析故障排除方法 methods-for-troubleshooting-analysis

进行线程转储 making-a-thread-dump

线程转储是当前活动的所有Java线程的列表。 如果AEM未做出正确响应,线程转储可以帮助您识别死锁或其他问题。

使用Sling线程翻译器 using-sling-thread-dumper

  1. 打开 AEM Web Console;例如 http://localhost:4502/system/console/.

  2. 选择 线程 ​在​ 状态 选项卡。

screen_shot_2012-02-13at43925pm

使用jstack(命令行) using-jstack-command-line

  1. 查找AEM Java实例的PID(进程ID)。

    例如,您可以使用 ps -efjps.

  2. 运行:

    jstack <pid>

  3. 这将显示线程转储。

NOTE
您可以使用 >> 输出重定向:
jstack <pid> >> /path/to/logfile.log

请参阅 如何从JVM获取线程转储 有关更多信息的文档

检查未关闭的JCR会话 checking-for-unclosed-jcr-sessions

为AEM WCM开发功能后,可能会打开JCR会话(与打开数据库连接类似)。 如果打开的会话从未关闭,则您的系统可能会出现以下症状:

  • 系统变慢了。
  • 您可以看到许多CacheManager:resize日志文件中的所有条目;以下数字(size=<x>)显示缓存数,每个会话会打开多个缓存。
  • 系统会不时地耗尽内存(经过几小时、几天或几周后,具体取决于严重性)。

要分析未关闭的会话并找出哪些代码未关闭会话,请参阅知识库文章 分析未关闭的会话.

使用Adobe Experience Manager Web控制台 using-the-adobe-experience-manager-web-console

OSGi包的状态还可以提前指示可能的问题。

  1. 打开 AEM Web Console;例如 http://localhost:4502/system/console/.

  2. 选择 OSGI 选项卡。

  3. 检查:

    • 包的状态。 如果有“不活动”或“未满足”,请尝试停止并重新启动包。 如果问题仍然存在,您可能需要使用其他方法进行进一步调查。
    • 是否有任何包缺少依赖项。 单击单个包名称即可查看此类详细信息,该名称是链接(以下示例没有任何问题):

screen_shot_2012-02-13at44706pm

recommendation-more-help
5ce3024a-cbea-458b-8b2f-f9b8dda516e8