RFR: JDK-8318636: Add jcmd to print annotated process memory map [v12]
Thomas Stuefe
stuefe at openjdk.org
Fri Nov 10 07:38:24 UTC 2023
> Analysts and supporters often use /proc/xx/maps to make sense of the memory footprint of a process.
>
> Interpreting the memory map correctly can help when used as a complement to other tools (e.g. NMT). There even exist tools out there that attempt to annotate the process memory map with JVM information.
>
> That, however, can be more accurately done from within the JVM, at least for mappings originating from hotspot. After all, we can correlate the mapping information in NMT with the VMA map.
>
> Example output (from a spring petstore run):
>
> [example_system_map.txt](https://github.com/openjdk/jdk/files/13179054/example_system_map.txt)
>
> This patch adds the VM annotations for VMAs that are *mmaped*. I also have an experimental patch that works with malloc'ed memory, but it is not ready yet for consumption and I leave that part of for now.
Thomas Stuefe has updated the pull request incrementally with three additional commits since the last revision:
- add test to test dumping to specific location
- change filename arg from -f to -F to prevent conflicts with jcmd -f
- print errno if dump file cannot be opened
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/16301/files
- new: https://git.openjdk.org/jdk/pull/16301/files/e181298b..24a9916a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=16301&range=11
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=16301&range=10-11
Stats: 19 lines in 2 files changed: 14 ins; 0 del; 5 mod
Patch: https://git.openjdk.org/jdk/pull/16301.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16301/head:pull/16301
PR: https://git.openjdk.org/jdk/pull/16301
More information about the serviceability-dev
mailing list