そのうち必要にせまられt清書します。
ダンプの取り方
dotnet-dump collect
を使う
https://learn.microsoft.com/ja-jp/dotnet/core/diagnostics/dotnet-dump#dotnet-dump-collect
- サーバー等のシェルに入る
- プロセス番号を取得
dotnet-dump ps
- ダンプファイル置き場を作成する
-
mkdir /tmp/memory
みたいな書き込み権限のあるディレクトリ
-
- ダンプを取る
dotnet-dump collect -p 1 -o /tmp/memory/$(date "+%Y%m%d%H%M%S").dump
- 複数回取ることもあるので
date
を入れている
- シェルから出てファイルをローカルに取ってくる
ダンプファイルの解析
dotnet-dump analyze
を使う
https://learn.microsoft.com/ja-jp/dotnet/core/diagnostics/dotnet-dump#dotnet-dump-analyze
コールスタックの状態を見る (pstacks)
dotnet-dump analyze path/to/file.dump -c pstacks