mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8261242: [Linux] OSContainer::is_containerized() returns true when run outside a container
Reviewed-by: stuefe, iklam
This commit is contained in:
parent
71e3798bf6
commit
0a6ffa5795
19 changed files with 290 additions and 64 deletions
|
@ -71,6 +71,23 @@ public interface Metrics {
|
|||
*/
|
||||
public String getProvider();
|
||||
|
||||
/**
|
||||
* Determines whether or not the underlying system
|
||||
* has useful metrics (a.k.a. is containerized).
|
||||
*
|
||||
* @implNote
|
||||
* Note that Metrics on some systems aren't useful.
|
||||
* For example on a regular Linux system with cgroups
|
||||
* present, with no limits enforced and not running in
|
||||
* a container, Metric aren't useful. This can be used
|
||||
* in order to determine if the system is containerized.
|
||||
*
|
||||
* @return true when the JVM runs in containerized mode.
|
||||
* false otherwise.
|
||||
*
|
||||
*/
|
||||
public boolean isContainerized();
|
||||
|
||||
|
||||
/* ***************************************************************
|
||||
* CPU Accounting Subsystem
|
||||
|
|
|
@ -370,6 +370,10 @@ public final class LauncherHelper {
|
|||
final long longRetvalNotSupported = -2;
|
||||
|
||||
ostream.println(INDENT + "Provider: " + c.getProvider());
|
||||
if (!c.isContainerized()) {
|
||||
ostream.println(INDENT + "System not containerized.");
|
||||
return;
|
||||
}
|
||||
ostream.println(INDENT + "Effective CPU Count: " + c.getEffectiveCpuCount());
|
||||
ostream.println(formatCpuVal(c.getCpuPeriod(), INDENT + "CPU Period: ", longRetvalNotSupported));
|
||||
ostream.println(formatCpuVal(c.getCpuQuota(), INDENT + "CPU Quota: ", longRetvalNotSupported));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue