Integrated: 8281181: Do not use CPU Shares to compute active processor count
Ioi Lam
iklam at openjdk.java.net
Fri Mar 4 20:18:03 UTC 2022
On Wed, 2 Mar 2022 20:01:46 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> This is a simple change (Linux-only) that removes the consideration of Cgroups CPU Shares from the active process count calculation. Of note, this fixes CPU underutilization when Java is executed by Kubernetes without CPU resources limits.
>
> Please see the CSR [JDK-8281571](https://bugs.openjdk.java.net/browse/JDK-8281571) for a detailed discussion of the reasons to make this change.
>
> To err on the side of caution, we added a temporary (and deprecated) VM flag `-XX:+UseContainerCpuShares` to enable the old behavior. We believe the old behavior is wrong and unnecessary. The plan is to remove the old behavior in JDK 20.
>
> The associated flag, `PreferContainerQuotaForCPUCount` is also deprecated. Both flags will be obsoleted in JDK 20.
>
> Testing with tiers 1-4, as well as container tests in tier5.
This pull request has now been integrated.
Changeset: e07fd395
Author: Ioi Lam <iklam at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/e07fd395bdc314867886a621ec76cf74a5f76b89
Stats: 52 lines in 6 files changed: 34 ins; 0 del; 18 mod
8281181: Do not use CPU Shares to compute active processor count
Reviewed-by: dholmes, sgehwolf
-------------
PR: https://git.openjdk.java.net/jdk/pull/7666
More information about the hotspot-dev
mailing list