HEAP_PROFILE(1)
NAME
heap_profile - record heap profile on Android device
DESCRIPTION
tools/heap_profile
allows to collect native memory profiles on Android.
See Recording traces for more
details about the data-source.
usage: heap_profile [-h] [-i INTERVAL] [-d DURATION] [--no-start] [-p PIDS]
[-n NAMES] [-c CONTINUOUS_DUMP] [--disable-selinux]
[--no-versions] [--no-running] [--no-startup]
[--shmem-size SHMEM_SIZE] [--block-client]
[--block-client-timeout BLOCK_CLIENT_TIMEOUT]
[--no-block-client] [--idle-allocations] [--dump-at-max]
[--disable-fork-teardown] [--simpleperf]
[--traceconv-binary TRACECONV_BINARY]
[--print-config] [-o DIRECTORY]
OPTIONS
-n
,--name
NAMESComma-separated list of process names to profile.
-p
,--pid
PIDSComma-separated list of PIDs to profile.
-i
,--interval
Sampling interval. Default 4096 (4KiB)
-o
,--output
DIRECTORYOutput directory.
--all-heaps
Collect allocations from all heaps registered by target.
--block-client
When buffer is full, block the client to wait for buffer space. Use with caution as this can significantly slow down the client. This is the default
--block-client-timeout
If --block-client is given, do not block any allocation for longer than this timeout (us).
-c
,--continuous-dump
Dump interval in ms. 0 to disable continuous dump.
-d
,--duration
Duration of profile (ms). 0 to run until interrupted. Default: until interrupted by user.
--disable-fork-teardown
Do not tear down client in forks. This can be useful for programs that use vfork. Android 11+ only.
--disable-selinux
Disable SELinux enforcement for duration of profile.
--dump-at-max
Dump the maximum memory usage rather than at the time of the dump.
-h
,--help
show this help message and exit
--heaps
HEAPSComma-separated list of heaps to collect, e.g: malloc,art. Requires Android 12.
--idle-allocations
Keep track of how many bytes were unused since the last dump, per callstack
--no-android-tree-symbolization
Do not symbolize using currently lunched target in the Android tree.
--no-block-client
When buffer is full, stop the profile early.
--no-running
Do not target already running processes. Requires Android 11.
--no-start
Do not start heapprofd.
--no-startup
Do not target processes that start during the profile. Requires Android 11.
--no-versions
Do not get version information about APKs.
--print-config
Print config instead of running. For debugging.
--shmem-size
Size of buffer between client and heapprofd. Default 8MiB. Needs to be a power of two multiple of 4096, at least 8192.
--simpleperf
Get simpleperf profile of heapprofd. This is only for heapprofd development.
--traceconv-binary
Path to local trace to text. For debugging.