dotMemory 2021.1 Help

Profile .NET Core Application

To profile a .NET Core application

  1. Run dotMemory as a standalone application. The dotMemory Home window will open.

  2. Add a run configuration - the configuration that tells dotMemory how to run the profiled application:

    • Under Choose what you want to profile, New Process Run, click Add run configuration Add run configuration.

    • In the New Run Configuration wizard, choose .NET Core Application and click Next.

    • Specify application options:

      • Path to the application executable (if it's a self-contained deployment) or to a library file (if it's a framework-dependent deployment).

      • Command-line Arguments for the executable (if required).

      • A full path to the application Working directory (by default, it's the same directory where the executable is located).

      • Set environment variables lets you run the profiled application with specific environment variables. Each variable must be specified on a new line.

    • Click Save.

  3. Make sure the created run configuration is selected in the New Process Run list.

  4. Optionally, if your application creates a number of processes and you want to profile only specific ones, create process filters.

  5. If you want dotMemory to start collecting the stack trace allocation data * right after you start the session, under Run profiling, select Collect memory allocation and traffic data from start.

  6. Click Start. This will start the profiling session.

  7. Go through a particular workflow in your application (if you want to check it on potential memory issues) or reproduce a particular memory issue. Collect memory snapshots using the Get Snapshot button. Learn more about how to control the profiling session

  8. After you collect the data, either close the profiled application or detach the profiler using the Detach button.

  9. Analyze the collected snapshots.

To profile a .NET Core application

  1. Download dotMemory command-line profiler.

  2. Use the command-line profiler to start the profiling session and get memory snapshots. For example, to instantly get a snapshot of a running application:

    dotMemory.exe get-snapshot MyApp --with-max-mem

    To start MyApp and take snapshots periodically:

    ./dotMemory.sh start --trigger-timer=30s ~/MyApp/MyApp my-app-arg1

  3. Learn more about profiling with the command-line profiler.

Last modified: 08 March 2021