非本番環境のSitecore Managed Cloudコンテナ内でメモリ ダンプを収集する方法について


説明

本記事では、非本番環境のSitecore Managed Cloudコンテナ内に実行されているプロセスのメモリ ダンプの収集について説明します。

註:本番環境におけるメモリ ダンプの収集方法については、Sitecoreサポートにお問い合わせください。

解決策

メモリ ダンプを収集するには、以下の手順を実施してください。

  1. 以下のページにある「Nano Server用Sysinternals Suite」をダウンロードし、そのアーカイブをローカル フォルダーに解凍します:
    https://learn.microsoft.com/ja-jp/sysinternals/downloads/sysinternals-suite
    ここでは例として、C:\ProcDumpに解凍したとします。

  2. procdump64.exeツールをSitecore Managed Cloudコンテナにコピーします(Sitecoreコンテナとの間でファイルをコピーする方法をご覧ください)。
    ディレクトリをローカル フォルダーに変更します。例:
    cd C:\ProcDump
    バイナリ ファイルをポッドにコピーします。例:
    kubectl.exe cp procdump64.exe sitecore/cd-76495d74d-x5bmn:procdump64.exe
  3. 以下のコマンドを実行し、Sitecoreポッドに接続します。
    kubectl exec -it "pod_name" -n "namespace" -- powershell
    例:
    kubectl.exe exec -it cd-76495d74d-x5bmn -n sitecore -- powershell
  4. コンテナ内でPowerShellセッション(コンテナでPowerShellを実行する方法をご覧ください) を実行し、必要なプロセスIDを見つけるコマンドを実行します:
    (Get-Process | where -Property ProcessName -eq "w3wp").id
  5. Sitecoreのサポート担当エンジニアが指示した通りにprocdumpを実行し、オンデマンドまたは条件付きでメモリ ダンプを収集します:
    .\procdump64.exe -ma <w3wp PID> -accepteula
    例:
    \procdump64.exe -ma 5688 -accepteula
    \procdump64.exe -ma 5688 -accepteula -c 80 -s 5
  6. ダンプの収集が正常に終了したら、コンテナ内のPowerShellセッションを終了します。
  7. コンテナから収集されたダンプをローカル ファイル システムにダウンロードします。
    • ダンプ ファイルをC:\inetpub\wwwroot\App_Data\Submit Queueに移動します:
      Copy-Item -Path .\w3wp.exe_221202_143040.dmp -Destination '.\App_Data\Submit Queue\'
    • 名前がaksで終わる、お客様のリソース グループに移動します(例えば、mcca8clf4hbkd1cgvi8aks)。
    • ファイル共有に移動します。ファイル共有は通常1つしか存在しませんが、万が一ファイル共有が複数存在している場合は、各ファイル共有の内容を確認します。ダンプは通常ルート カタログ内に存在します。
      Graphical user interfaceDescription automatically generated with low confidence
    • .dmpファイルをダウンロードし、その直後に削除します。
  8. ダンプを圧縮し、圧縮されたZIPファイルをSitecore Support SharePoint Storageにアップロードします。