On Sat, 28 Oct 2023 13:04:05 GMT, Thomas Stuefe <stu...@openjdk.org> wrote:
>> 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 one additional > commit since the last revision: > > fix various builds OK, went through the cache. Will continue later. src/hotspot/share/nmt/memMapPrinter.cpp line 105: > 103: _ranges[_count - 1].to = to; > 104: return true; > 105: } I'm pretty sure that the virtual memory tracker already gives you the minimal set of regions, have you observed this branch being taken? src/hotspot/share/nmt/memMapPrinter.cpp line 119: > 117: assert(_capacity > _count, "Sanity"); > 118: _ranges[_count].from = from; > 119: _ranges[_count].to = to; Or just `_ranges[_count] = Range{from, to}` ------------- PR Review: https://git.openjdk.org/jdk/pull/16301#pullrequestreview-1707901319 PR Review Comment: https://git.openjdk.org/jdk/pull/16301#discussion_r1378602552 PR Review Comment: https://git.openjdk.org/jdk/pull/16301#discussion_r1378604692