Details
-
Enhancement
-
Status: Open
-
P4
-
Resolution: Unresolved
-
17
-
linux
Description
Hotspot currently supports two ways to make use of explicit large pages (huge pages):
- UseHugeTLBFS - explicitly mmap() large pages using MAP_HUGETLB
- UseSHM - create a shared memory segment using shmget() and SHM_HUGETLB
Both these requires that large pages are configured and pre-allocated, the number of currently allocated large pages can be seen with:
> sysctl vm.nr_hugepagessee
See the kernel documentation for more information:
https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt
The share memory approach also requires the process to be privileged (have the capability to lock memory) and that the system is configured to allow large shared memory segments. To get the current max value:
> sysctl kernel.shmmax
There are very few if any pros with the USeSHM approach and we should investigate if we can remove support for it.
- UseHugeTLBFS - explicitly mmap() large pages using MAP_HUGETLB
- UseSHM - create a shared memory segment using shmget() and SHM_HUGETLB
Both these requires that large pages are configured and pre-allocated, the number of currently allocated large pages can be seen with:
> sysctl vm.nr_hugepagessee
See the kernel documentation for more information:
https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt
The share memory approach also requires the process to be privileged (have the capability to lock memory) and that the system is configured to allow large shared memory segments. To get the current max value:
> sysctl kernel.shmmax
There are very few if any pros with the USeSHM approach and we should investigate if we can remove support for it.
Attachments
Issue Links
- relates to
-
JDK-8261896 Add support for multiple large page sizes for UseSHM
-
- Open
-
-
JDK-8261899 Improve warning for UseSHM failures
-
- Open
-
-
JDK-8261401 Add sanity check for UseSHM large pages similar to the one used with hugetlb large pages
-
- Resolved
-