Please, pay attention that now you are in public part of FAQ-Area. Register and find more FAQ-articles in Personal Cabinet.
Сбор дампа памяти для приложения Ascon.Pilot.Daemon (Pilot-Server for Linux). Необходим при диагностировании зависания процесса.
Для того, чтобы снять дамп памяти для приложения Ascon.Pilot.Daemon необходимо подготовить окружение:
Проверить какая версия runtime установлена на машине https://docs.microsoft.com/ru-ru/dotnet/core/install/how-to-detect-installed-versions?pivots=os-linux
$ dotnet --list-sdks
или
$ dotnet --info
Если .NetCore Runtime не установлен, его следует установить
Установить .NetCore Runtime (текущая версия 5.0)
После установки .NetCore Runtime необходимо установить инструмент для снятия дампа
https://docs.microsoft.com/ru-ru/dotnet/core/diagnostics/dotnet-dump
Можно установить как глобально в систему так и скопировать в папку с целевым приложением.
После установки проверяем работоспособность утилиты
$ dotnet-dump --version
Далее, необходимо дать права на запуск утилите createdump, которая лежит рядом с Ascon.Pilot.Daemon
переходим в папку с установленным Ascon.Pilot.Daemon. Например:
$cd /opt/pilot-server
Задаем права на запуск для createdump
$ chmod u+x createdump
Собираем дамп памяти
Теперь можно переходить непосредственно к сбору дампа. Для этого необходимо запустить утилиту dotnet-dump.
Внимание! Чтобы собрать дамп с помощью dotnet-dump, ее необходимо запустить от имени пользователя, запустившего целевой процесс, или от имени привилегированного пользователя. В противном случае средство не сможет установить соединение с целевым процессом.
Перед тем как снять дамп необходимо узнать PID процесса целевого приложения. Посмотреть PID, например, можно с помощью команды $htop или $ps aux | grep Ascon.Pilot.Daemon
Запускаем создание дампа:
$ dotnet-dump collect -p <PID_of_target_app>
Файл дампа сохранится в ту же папку где лежит Ascon.Pilot.Daemon в формате ./core_YYYYMMDD_HHMMSS