# 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.
