RFR: 8198225: os::attempt_reserve_memory_at records memory as committed

Thomas Stüfe thomas.stuefe at gmail.com
Thu Feb 15 17:32:45 UTC 2018


Hi Stefan,

looks good to me too. Thanks for fixing this.

Small note, though not part of your test: I find the version of
"attempt_reserve_memory_at()" which takes a file handle to be misleadingly
named - it maps a file to a specific location, the result is committed
memory, not reserved memory.

Best Regards, Thomas


On Thu, Feb 15, 2018 at 4:19 PM, Stefan Karlsson <stefan.karlsson at oracle.com
> wrote:

> Hi all,
>
> Please review this small patch to fix the NMT memory tracking for
> os::attempt_reserve_memory_at.
>
> http://cr.openjdk.java.net/~stefank/8198225/webrev.01/
> https://bugs.openjdk.java.net/browse/JDK-8198225
>
> This problem could be seen in the NMT output (Note: the fix for
> JDK-8196405 was also applied when this was generated):
>
> Total: reserved=18728431KB, committed=18463315KB
> -                 Java Heap (reserved=16437248KB, committed=16437248KB)
>                             (mmap: reserved=16437248KB,
> committed=16437248KB)
>
> -                     Class (reserved=1078402KB, committed=1077890KB)
>
> and
>
> [0x00000007c0000000 - 0x0000000800000000] reserved and committed 1048576KB
> for Class from
>     [0x00002b96ab32655c] ReservedSpace::ReservedSpace(unsigned long,
> unsigned long, bool, char*)+0xac
>     [0x00002b96aaea116b] Metaspace::allocate_metaspace_compressed_klass_ptrs(char*,
> unsigned char*)+0x15b
>     [0x00002b96aaea36bc] Metaspace::global_initialize()+0x24c
>     [0x00002b96ab2c589f] universe_init()+0x8f
>
>         [0x00000007c0000000 - 0x00000007c0340000] committed 3328KB from
>             [0x00002b96ab31fb35] commit_expanded(char*, unsigned long,
> unsigned long, bool, bool)+0x25
>             [0x00002b96ab320d52] VirtualSpace::expand_by(unsigned long,
> bool)+0x342
>             [0x00002b96aae9466f] VirtualSpaceNode::expand_by(unsigned
> long, unsigned long)+0x4f
>             [0x00002b96aae953b0] VirtualSpaceList::expand_node_by(VirtualSpaceNode*,
> unsigned long, unsigned long)+0x40
>
>         [0x00000007c0340000 - 0x0000000800000000] committed 1045248KB from
>             [0x00002b96ab32655c] ReservedSpace::ReservedSpace(unsigned
> long, unsigned long, bool, char*)+0xac
>             [0x00002b96aaea116b] Metaspace::allocate_metaspace_compressed_klass_ptrs(char*,
> unsigned char*)+0x15b
>             [0x00002b96aaea36bc] Metaspace::global_initialize()+0x24c
>             [0x00002b96ab2c589f] universe_init()+0x8f
>
>
> After the fix we have:
>
> Total: reserved=18696411KB, committed=13460639KB
> -                 Java Heap (reserved=16437248KB, committed=12607488KB)
>                             (mmap: reserved=16437248KB,
> committed=12607488KB)
>
> -                     Class (reserved=1078317KB, committed=31149KB)
>
> and
>
> [0x00000007c0000000 - 0x0000000800000000] reserved 1048576KB for Class from
>     [0x00002af96c2f66bc] ReservedSpace::ReservedSpace(unsigned long,
> unsigned long, bool, char*)+0xac
>     [0x00002af96be7116b] Metaspace::allocate_metaspace_compressed_klass_ptrs(char*,
> unsigned char*)+0x15b
>     [0x00002af96be736bc] Metaspace::global_initialize()+0x24c
>     [0x00002af96c2959ff] universe_init()+0x8f
>
>         [0x00000007c0000000 - 0x00000007c0320000] committed 3200KB from
>             [0x00002af96c2efc95] commit_expanded(char*, unsigned long,
> unsigned long, bool, bool)+0x25
>             [0x00002af96c2f0eb2] VirtualSpace::expand_by(unsigned long,
> bool)+0x342
>             [0x00002af96be6466f] VirtualSpaceNode::expand_by(unsigned
> long, unsigned long)+0x4f
>             [0x00002af96be653b0] VirtualSpaceList::expand_node_by(VirtualSpaceNode*,
> unsigned long, unsigned long)+0x40
>
>
> I tested this with the new jtreg test and by manual inspection of the NMT
> output.
>
> Thanks,
> StefanK
>


More information about the hotspot-runtime-dev mailing list