RFR: 8198225: os::attempt_reserve_memory_at records memory as committed
Stefan Karlsson
stefan.karlsson at oracle.com
Thu Feb 15 17:39:45 UTC 2018
Hi Thomas,
On 2018-02-15 18:32, Thomas Stüfe wrote:
> Hi Stefan,
>
> looks good to me too. Thanks for fixing this.
Thanks!
>
> 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.
Yes, I agree. We have similar issues with large pages that gets
committed when they are reserved.
StefanK
>
> Best Regards, Thomas
>
>
> On Thu, Feb 15, 2018 at 4:19 PM, Stefan Karlsson
> <stefan.karlsson at oracle.com <mailto: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/
> <http://cr.openjdk.java.net/%7Estefank/8198225/webrev.01/>
> https://bugs.openjdk.java.net/browse/JDK-8198225
> <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