On linux the code cache cannot be mapped using large pages because linux shared memory does not allow executable permissions to be set. From the shmget man page:
...
mode_flags (lowest 9 bits)
specifying the permissions granted to the owner, group,
and world. Presently, the execute permissions are not
used by the system.
If/when linux shared mem supports execute permission, or if/when linux gets another method of obtaining large page memory, the JVM should map the code cache with large pages.
...
mode_flags (lowest 9 bits)
specifying the permissions granted to the owner, group,
and world. Presently, the execute permissions are not
used by the system.
If/when linux shared mem supports execute permission, or if/when linux gets another method of obtaining large page memory, the JVM should map the code cache with large pages.
- duplicates
-
JDK-7164977 Performance drop using 1GB pages with JDK 7
-
- Closed
-
- relates to
-
JDK-6642862 Code cache allocation fails with large pages after 6588638
-
- Closed
-