Server Profiling: Difference between revisions
[unchecked revision] | [checked revision] |
m Reverted comment test |
m compliment -> complement |
||
Line 1: | Line 1: | ||
[[File:In-Game Profiling Commands.png|thumb|595x595px|In-game Admin commands that can be used to invoke profiling sessions|alt=]][[File:EcoServer Profiling Menu.png|thumb|595x595px|Various profiling options as seen in Server UI (Windows only)|alt=]]The profiling tools allow [[Server|Server Owners]] and [[Admin|Admins]] to run profiling sessions to gather diagnostic data that is especially useful when server is experiencing performance problems. | [[File:In-Game Profiling Commands.png|thumb|595x595px|In-game Admin commands that can be used to invoke profiling sessions|alt=]][[File:EcoServer Profiling Menu.png|thumb|595x595px|Various profiling options as seen in Server UI (Windows only)|alt=]]The profiling tools allow [[Server|Server Owners]] and [[Admin|Admins]] to run profiling sessions to gather diagnostic data that is especially useful when server is experiencing performance problems. | ||
You can use this generated data to | You can use this generated data to complement issue reports for [[Strange Loop Games|SLG]]. | ||
'''Introduced in version 9.5.''' | '''Introduced in version 9.5.''' | ||
==Requirements== | ==Requirements== | ||
For profiling to work, you need 2 [https://docs.microsoft.com/en-us/dotnet/core/diagnostics/#net-core-diagnostic-global-tools .NET Core diagnostic global tools] installed on your system: | For profiling to work, you need 2 [https://docs.microsoft.com/en-us/dotnet/core/diagnostics/#net-core-diagnostic-global-tools .NET Core diagnostic global tools] installed on your system: |
Revision as of 11:49, 13 July 2021
The profiling tools allow Server Owners and Admins to run profiling sessions to gather diagnostic data that is especially useful when server is experiencing performance problems.
You can use this generated data to complement issue reports for SLG.
Introduced in version 9.5.
Requirements
For profiling to work, you need 2 .NET Core diagnostic global tools installed on your system:
dotnet-dump
- to take memory dumpsdotnet-trace
- to profile CPU
You have to make sure both of the tools are installed globally or available on your systems PATH so the server can run them.
Memory dumps
For when the server is consuming too much memory.
Memory dumps can be initiated by:
- As an admin, by issuing
/profiler dump
command - Invoking
Profiling -> Take memory dump
via Server UI Menu (Windows only)
Memory dump will start the dotnet-dump
process, taking a full snapshot of current memory as used by the server process and the file size will be proportional to that. For example, a server that is utilizing 2GB of RAM, the dump file generated will be also 2GB.
CPU profiling
For when the server is consuming too much CPU.
CPU profiling can be initiated by:
- As an admin, by issuing
/profiler cpu
command - Invoking
Profiler -> Profile CPU
via Server UI Menu (Windows only)
CPU profiling will start the dotnet-trace
process, running it for 1 minute, capturing everything going on with the process for the time being.
Full profile
Full profile will simply take memory dump followed by CPU profiling, as if they were invoked in succession.