Details
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8246068 | 13.0.4 | Claes Redestad | P4 | Resolved | Fixed | b03 |
JDK-8233532 | 11.0.7-oracle | Claes Redestad | P4 | Resolved | Fixed | b01 |
JDK-8237333 | 11.0.7 | Claes Redestad | P4 | Resolved | Fixed | b01 |
Description
On Linux systems considered containerized then os::available_memory will call into OSContainer::memory_limit_in_bytes and read the memory limit information from the /proc/self/mountinfo or similar.
This can take significant background resources, mostly since os::available_memory is called every iteration of each compiler thread's main loop to help determine if the system should add more compiler threads.
There are a couple of possible solutions:
- add a grace time to how often OSContainer::memory_limit_in_bytes actually reads the /proc configuration
- refactor compiler thread loop to make that possibly_add_compiler_threads a periodic task rather than something that each and every compiler thread does between every compilation
This can take significant background resources, mostly since os::available_memory is called every iteration of each compiler thread's main loop to help determine if the system should add more compiler threads.
There are a couple of possible solutions:
- add a grace time to how often OSContainer::memory_limit_in_bytes actually reads the /proc configuration
- refactor compiler thread loop to make that possibly_add_compiler_threads a periodic task rather than something that each and every compiler thread does between every compilation
Attachments
Issue Links
- backported by
-
JDK-8233532 Linux os::available_memory re-reads cgroup configuration on every invocation
-
- Resolved
-
-
JDK-8237333 Linux os::available_memory re-reads cgroup configuration on every invocation
-
- Resolved
-
-
JDK-8246068 Linux os::available_memory re-reads cgroup configuration on every invocation
-
- Resolved
-
- relates to
-
JDK-8227006 [linux] Runtime.availableProcessors execution time increased by factor of 100
-
- Resolved
-