Update the memory profiling doc with recent changes
We removed the pseudo stack mode. Update instructions about arm64 and x86-64 profiling. Also specify not to use component build for profiling. BUG= 1199271 Change-Id: I8b1cce693d38c12f92dc9526fca1893bb276fd9b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2980940 Reviewed-by: Erik Chen <erikchen@chromium.org> Commit-Queue: ssid <ssid@chromium.org> Cr-Commit-Position: refs/heads/master@{#895428}
This commit is contained in:
@@ -30,19 +30,24 @@ be enabled via chrome://memory-internals or about://flags.
|
|||||||
* If you run into the error "Nothing to symbolize" then backtraces are not
|
* If you run into the error "Nothing to symbolize" then backtraces are not
|
||||||
working properly. There are two mechanisms that Chrome attempts to use:
|
working properly. There are two mechanisms that Chrome attempts to use:
|
||||||
frame pointers if they're present, and backtrace lib. The former can be
|
frame pointers if they're present, and backtrace lib. The former can be
|
||||||
forced on with enable_frame_pointers gn arg. This should work on all architectures except for
|
forced on with enable_frame_pointers gn arg. This should work on all architectures except for
|
||||||
arm 32.The latter depends on unwind tables.
|
arm 32. The latter depends on unwind tables.
|
||||||
5. Load the (now symbolized) trace in chrome://tracing.
|
5. Load the (now symbolized) trace in chrome://tracing.
|
||||||
|
|
||||||
## How to obtain a heap dump (M66+, Android)
|
## How to obtain a heap dump (M66+, Android)
|
||||||
|
|
||||||
To obtain native heap dumps, you will need a custom build of Chrome with the GN
|
On arm64 and x86-64, you can build chrome normally and follow steps above to
|
||||||
arguments `enable_profiling = true`, `arm_use_thumb = false` and
|
obtain heap dumps.
|
||||||
`symbol_level=1`. All other steps are the same.
|
|
||||||
|
|
||||||
Alternatively, if you want to use an Official build of Chrome, navigate to
|
To obtain native heap dumps on arm32, you will need a custom build of Chrome
|
||||||
chrome://flags and set `memlog-stack-mode` to `pseudo`. This will provide
|
with the GN arguments `enable_profiling = true`, `arm_use_thumb = false`,
|
||||||
less-detailed stacks. The stacks also don't require symbolization.
|
`is_component_build = false` and `symbol_level=1`. All other steps are the same.
|
||||||
|
|
||||||
|
Alternatively, if you want to use an official build of Chrome, use
|
||||||
|
`is_official_build = true` for arm32. If you want to use a released build,
|
||||||
|
profiling only works on Dev and Canary on arm, and all channels on x86-64. In
|
||||||
|
this case, you also need to fetch symbols manually and pass to the
|
||||||
|
symbolize_trace script above.
|
||||||
|
|
||||||
## How to obtain a heap dump (M65 and older)
|
## How to obtain a heap dump (M65 and older)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user