AEM Server上的磁盘使用率异常高或快速增加

了解如何识别AEM服务器上磁盘使用率高的原因。 使用调试记录器、捕获线程转储并执行CPU分析,然后运行磁盘使用情况报表。

描述 description

环境

Adobe Experience Manager

问题/症状

AEM服务器上的磁盘使用率异常高或快速增加。 磁盘空间用完后,AEM已停止运行。

解决方法 resolution

A。 如果AEM正在运行,并且有足够的磁盘空间

  1. 配置Oak写入跟踪日志记录 如果AEM仍在运行,那么我们可以启用调试记录器来告诉我们正在向哪些存储库路径写入。 要启用此日志程序,请安装以下附加的日志配置包或执行以下步骤:

    1. 转到​ https://aemhost:port/system/console/slinglog
    2. 单击 添加新记录器
    3. 配置记录器: 日志文件: logs/repgrowth.log,日志级别: trace,记录器: org.apache.jackrabbit.oak.jcr.operations.writes
    4. 下载文件。 此包包含Oak的日志记录写入会话所需的配置。 通过CRX包管理器安装此包。 在监视期之后,请确保卸载包。

    警告

    • 日志包含有关所有写入和会话详细信息的信息。 如果使用此记录器,请确保您有足够的磁盘空间。
    • 请卸载日志配置包,或在短暂启用该配置后删除日志配置,以避免进一步的磁盘空间消耗。
  2. 运行磁盘使用情况报告 您还可以利用“磁盘使用情况”报表https://host:port/etc/reports/diskusage.html。 此报表显示存储库路径使用的磁盘空间。 报告可钻取,允许您同时查看子树。

  3. 捕获线程转储并执行分析 在使用repgrowth.log了解正在写入哪些数据后,我们可以通过捕获线程转储并运行CPU分析来获取有关正在写入该数据的代码的信息。 访问以下页面:

B。 如果AEM已停止和/或磁盘空间几乎已满

如果您必须停止AEM以避免磁盘空间增长,则请使用以下命令进行一些初始分析。

  • 在Linux平台上,利用 du 命令列出 crx-quickstart 下的所有目录,这些目录的摘要大小为:

    code language-none
    du -h --max-depth=2 crx-quickstart
    
  • 使用 finddu 命令查找最近修改的文件并获取其大小:

    code language-none
    find crx-quickstart -type f -mtime 1 -exec du -hs {} \; -print
    
  • 若要在数据存储中查找大型文件,可以合并 finddufile 命令以在 数据存储 目录中查找超过100 MB的文件并自动识别其文件类型:

    code language-none
    find crx-quickstart/repository/datastore -type f -size +100M -exec sh -c "du -hs \"{}\"; file \"{}\"" \;
    
  • 如果您发现 segmentstore 目录中存在增长,则以下命令可能有助于指示正在写入哪些数据:

    code language-none
    strings data_xxxxxx.tar | egrep '.?/' | sed 's/.$//;s/.\//\//'
    

原因

磁盘使用率异常增加的一些潜在原因包括:

  • 系统尚未运行适当的维护。  有关各种系统维护活动的详细信息,请参阅本文。
  • AEM或应用程序正在创建大量节点或更新节点属性。  这可能是由于配置错误或应用程序代码错误所致。  由于Oak中的tar存储以仅附加模式运行,反复保存节点会进一步导致存储库过度增长。
  • 已将非常大的文件上传到AEM Assets或包管理器。
  • 调试或跟踪日志记录处于启用状态。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f