疑難排解AEM

下節將說明您使用AEM時可能遇到的一些問題,以及如何疑難排解的建議。

注意

如果您要疑難排解AEM中的編寫問題,請參閱作者疑難排解。

注意

當遇到問題時,也有必要檢查實例(發行和服務包)的已知問題清單。

管理員的故障排除方案

下表概述了管理員可能需要進行故障排除的問題:

角色 問題
系統管理員

按兩下快速啟動jar沒有任何作用,或者使用其他程式開啟jar檔案(例如,存檔管理器)

系統管理員

我在CRX上執行的應用程式會擲出記憶體不足的錯誤

系統管理員

連按兩下「AEM CM快速入門」後,瀏覽器中不會顯示「AEM歡迎」畫面

系統管理員

管理員使用者

建立線程轉儲

系統管理員

管理員使用者

檢查未關閉的JCR會話

安裝問題

如需下列疑難排解案例的相關資訊,請參閱常見安裝問題:

  • 連按兩下Quickstart jar不起作用,或使用其他程式(如存檔管理器)的JAR檔案。
  • 在CRX上運行的應用程式會丟失記憶體錯誤。
  • 連按兩下「AEM快速入門」後,「AEM歡迎」畫面不會顯示在瀏覽器中。

分析疑難排解的方法

建立線程轉儲

線程轉儲是當前處於活動狀態的所有Java線程的清單。 如果AEM無法正確回應,線程轉儲可幫助您識別死鎖或其他問題。

使用Sling Thread Dumper

  1. 開啟​AEM Web Console;例如http://localhost:4502/system/console/

  2. 在​狀態​頁籤下選擇​線程

screen_shot_2012-02-13at43925pm

使用jstack(命令行)

  1. 尋找AEM Java例項的PID(流程ID)。

    例如,您可以使用ps -efjps

  2. 執行:

    jstack <pid>

  3. 這將顯示線程轉儲。

注意

可以使用>>輸出重定向將線程轉儲附加到日誌檔案:

jstack <pid> >> /path/to/logfile.log

如需詳細資訊,請參閱如何從JVM取得執行緒轉儲檔案

正在檢查未關閉的JCR會話

當為AEM WCM開發功能時,可以開啟JCR工作階段(與開啟資料庫連線相當)。 如果開啟的會話從未關閉,則系統可能會出現以下症狀:

  • 系統變慢。
  • 您可以看到許多CacheManager:resizeLog檔案中的所有項目;以下數字(size=<x>)顯示快取的數量,每個會話開啟多個快取。
  • 系統不時記憶體不足(經過幾小時、幾天或幾週後,取決於嚴重性)。

要分析未關閉的會話並確定哪些代碼未關閉會話,請參閱知識文庫文章分析未關閉的會話

使用Adobe Experience Manager Web Console

OSGi捆綁包的狀態也可以提前指出可能的問題。

  1. 開啟​AEM Web Console;例如http://localhost:4502/system/console/

  2. 在​OSGI​標籤下選擇​Bundles

  3. 檢查:

    • 捆綁的狀態。 如果有「非活動」或「不滿足要求」,請嘗試停止並重新啟動包。 如果問題持續存在,您可能需要使用其他方法進行進一步調查。
    • 是否有任何束缺少從屬關係。 如需詳細資訊,請按一下個別的搭售名稱(此為連結)即可檢視(下列範例不存在任何問題):

screen_shot_2012-02-13at44706pm

本頁內容