Liunx下收集dotnet 进程的dump

 关于在 Liunx 下收集内存泄漏的 dotnet 进程的 dump。 以下方式用其中一个即可:
  1. 可使用 Procdump 对 dotnet 的应用进行抓取.
如贵方的环境为 Ubuntu,可以使用以下命令:
https://github.com/microsoft/ProcDump-for-Linux/blob/master/INSTALL.md
https://github.com/microsoft/ProcDump-for-Linux

>1. Register Microsoft key and feed

wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

>2. Install Procdump

sudo apt-get update
sudo apt-get install procdump
 
                >3. 根据进程号进行抓取,分别在 3G,5G,7G,9G 这样的内存使用量下进行抓取
 
sudo procdump -p pid
 
 
  1. 可使用 dotnet-dump 命令抓取 dotnetcore 应用的 dump
https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-dump
[NOTE]dotnet core 必须为 3.0 以上
 
>1. 安装 dotnet-dump 组件
dotnet tool install -g dotnet-dump
 
>2. 安装好后在环境中根据进程 ID 抓取 dump, 分别在 3G,5G,7G,9G 这样的内存使用量下进行抓取.
dotnet-dump collect -p pid --type heap