Common issues
The profiler generates too much data, and I don't have enough disk space to hold it!
By default the profiler will gather every allocation that's made by your application.
If you don't need all of that data then you can set the MEMORY_PROFILER_CULL_TEMPORARY_ALLOCATIONS
environment variable to 1
before you start profiling. This will prevent the profiler from emitting
the majority of short-lived allocations which should cut down on how big the resulting file will be.
You can also adjust the MEMORY_PROFILER_TEMPORARY_ALLOCATION_LIFETIME_THRESHOLD
option to specify which allocations will be considered temporary by the profiler.
The profiler crashes and/or is killed when I try to load my data file!
You're most likely trying to load a really big file, and you're running out of RAM.
You can use the strip
subcommand to strip away unnecessary allocations making
it possible to load your data file for analysis even if you don't have enough RAM.
For example, here's how you'd strip away all of the allocations with a lifetime of less than 60 seconds:
$ ./bytehound strip --threshold 60 -o stripped.dat original.dat
After running this command the stripped.dat
will only contain allocations which
lived for at least 60 seconds or more.