100 lines
3.1 KiB
Markdown
100 lines
3.1 KiB
Markdown
# 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](/docs/data-sources/native-heap-profiler.md) 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]
|
|
[--trace-to-text-binary TRACE_TO_TEXT_BINARY]
|
|
[--print-config] [-o DIRECTORY]
|
|
```
|
|
|
|
## OPTIONS
|
|
`-n`, `--name` _NAMES_
|
|
: Comma-separated list of process names to profile.
|
|
|
|
`-p`, `--pid` _PIDS_
|
|
: Comma-separated list of PIDs to profile.
|
|
|
|
`-i`, `--interval`
|
|
: Sampling interval. Default 4096 (4KiB)
|
|
|
|
`-o`, `--output` _DIRECTORY_
|
|
: Output 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` _HEAPS_
|
|
: Comma-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.
|
|
|
|
`--trace-to-text-binary`
|
|
: Path to local trace to text. For debugging.
|