【问题标题】:Meaning of SessionStatistics in AEM's JMX consoleAEM 的 JMX 控制台中 SessionStatistics 的含义
【发布时间】:2019-03-29 15:02:26
【问题描述】:

几天后,我的 AEM 服务器变得无响应并崩溃。根据这篇文章 - https://helpx.adobe.com/experience-manager/kb/check-and-analyze-if-JCR-session-leaks-in-your-AEM-instance.html,在检查 http://localhost:4502/system/console/jmx 时,我发现有超过 60,000 个 SessionStatistics 对象。我想知道这些代表什么?这些是活跃的会话吗?或者这是在 AEM 服务器上创建的所有会话的列表?

【问题讨论】:

    标签: aem jcr jackrabbit-oak


    【解决方案1】:

    我想知道这些代表什么?这些是活跃的会话吗?或者这是在 AEM 服务器上创建的所有会话的列表?

    是的,这些是当前在您的 AEM 服务器上运行的活动打开会话 - 自您上次启动实例后创建。您可以从/system/console/vmstat 找到上次开始时间,并且所有会话对象都将在Last Started 时间之后有一个时间戳。您会注意到会话名称的时间戳。类似的东西。

    "communities-user-admin@session-1132@25/10/2018 5:03:26 PM"
    

    您发布的链接已经表明对开放会话的潜在修复。

    建立会话对象的另一个可能原因是长时间运行的 JCR 查询效率低下(没有索引的查询、非常广泛的谓词等)。由于内存使用量增加(如果在启动脚本中未指定 mem 参数),这可能导致垃圾收集增加,分析 gc.log 可能会提供一些见解。如果您非常清楚查询会导致会话对象的累积,则可以在启动脚本中使用这些参数来优化正在使用的资源。

     -Doak.queryLimitInMemory=1000 -Doak.queryLimitReads=1000 -Dupdate.limit=1000 -Doak.fastQuerySize=true
    

    要查找gc.log 的位置,请使用lsof

    lsof -p ${JAVA PID} | grep gc.log
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多