class sun.management.OperatingSystemImpl extends sun.management.BaseOperatingSystemImpl implements com.sun.management.UnixOperatingSystemMXBean
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.management.OperatingSystemImpl
super_class: sun.management.BaseOperatingSystemImpl
{
private static final int MAX_ATTEMPTS_NUMBER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private final jdk.internal.platform.Metrics containerMetrics;
descriptor: Ljdk/internal/platform/Metrics;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic sun.management.OperatingSystemImpl.initialize:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.management.VMManagement);
descriptor: (Lsun/management/VMManagement;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.management.BaseOperatingSystemImpl.<init>:(Lsun/management/VMManagement;)V
1: aload 0
invokestatic jdk.internal.platform.Container.metrics:()Ljdk/internal/platform/Metrics;
putfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/management/OperatingSystemImpl;
0 3 1 vm Lsun/management/VMManagement;
MethodParameters:
Name Flags
vm
public long getTotalSwapSpaceSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 5
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryAndSwapLimit:()J
lstore 1
start local 1 2: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryLimit:()J
lstore 3
start local 3 3: lload 1
lconst_0
lcmp
iflt 5
lload 3
lconst_0
lcmp
iflt 5
4: lload 1
lload 3
lsub
lreturn
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.getTotalSwapSpaceSize0:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/OperatingSystemImpl;
2 5 1 limit J
3 5 3 memLimit J
public long getFreeSwapSpaceSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 13
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryAndSwapLimit:()J
lstore 1
start local 1 2: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryLimit:()J
lstore 3
start local 3 3: lload 1
lconst_0
lcmp
iflt 13
lload 3
lconst_0
lcmp
iflt 13
4: iconst_0
istore 5
start local 5 5: goto 12
6: StackMap locals: long long int
StackMap stack:
aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryAndSwapUsage:()J
lstore 6
start local 6 7: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryUsage:()J
lstore 8
start local 8 8: lload 6
lconst_0
lcmp
ifle 11
lload 8
lconst_0
lcmp
ifle 11
9: lload 6
lload 8
lsub
lconst_0
lcmp
iflt 11
10: lload 1
lload 3
lsub
lload 6
lload 8
lsub
lsub
lreturn
end local 8 end local 6 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
bipush 10
if_icmplt 6
end local 5 end local 3 end local 1 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.getFreeSwapSpaceSize0:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/management/OperatingSystemImpl;
2 13 1 memSwapLimit J
3 13 3 memLimit J
5 13 5 attempt I
7 11 6 memSwapUsage J
8 11 8 memUsage J
public long getFreePhysicalMemorySize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 5
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryUsage:()J
lstore 1
start local 1 2: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryLimit:()J
lstore 3
start local 3 3: lload 1
lconst_0
lcmp
ifle 5
lload 3
lconst_0
lcmp
iflt 5
4: lload 3
lload 1
lsub
lreturn
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.getFreePhysicalMemorySize0:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/management/OperatingSystemImpl;
2 5 1 usage J
3 5 3 limit J
public long getTotalPhysicalMemorySize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 4
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getMemoryLimit:()J
lstore 1
start local 1 2: lload 1
lconst_0
lcmp
iflt 4
3: lload 1
lreturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.getTotalPhysicalMemorySize0:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/management/OperatingSystemImpl;
2 4 1 limit J
public double getSystemCpuLoad();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 28
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getCpuQuota:()J
lstore 1
start local 1 2: lload 1
lconst_0
lcmp
ifle 13
3: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getCpuPeriod:()J
lstore 3
start local 3 4: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getCpuNumPeriods:()J
lstore 5
start local 5 5: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getCpuUsage:()J
lstore 7
start local 7 6: lload 3
lconst_0
lcmp
ifle 12
lload 5
lconst_0
lcmp
ifle 12
lload 7
lconst_0
lcmp
ifle 12
7: getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 3
lload 5
lmul
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 9
start local 9 8: lload 7
l2d
lload 9
l2d
ddiv
dstore 11
start local 11 9: dconst_0
dload 11
invokestatic java.lang.Math.max:(DD)D
dstore 11
10: dconst_1
dload 11
invokestatic java.lang.Math.min:(DD)D
dstore 11
11: dload 11
dreturn
end local 11 end local 9 12: StackMap locals: sun.management.OperatingSystemImpl long long long long
StackMap stack:
ldc -1.0
dreturn
end local 7 end local 5 end local 3 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.isCpuSetSameAsHostCpuSet:()Z
ifeq 15
14: aload 0
invokevirtual sun.management.OperatingSystemImpl.getSystemCpuLoad0:()D
dreturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getEffectiveCpuSetCpus:()[I
astore 3
start local 3 16: aload 3
ifnull 27
aload 3
arraylength
ifle 27
17: dconst_0
dstore 4
start local 4 18: aload 3
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 25
StackMap locals: sun.management.OperatingSystemImpl long int[] double top int int int[]
StackMap stack:
19: aload 9
iload 7
iaload
istore 6
start local 6 20: aload 0
iload 6
invokevirtual sun.management.OperatingSystemImpl.getSingleCpuLoad0:(I)D
dstore 10
start local 10 21: dload 10
dconst_0
dcmpg
ifge 23
22: ldc -1.0
dreturn
23: StackMap locals: sun.management.OperatingSystemImpl long int[] double int int int int[] double
StackMap stack:
dload 4
dload 10
dadd
dstore 4
end local 10 end local 6 24: iinc 7 1
StackMap locals: sun.management.OperatingSystemImpl long int[] double top int int int[]
StackMap stack:
25: iload 7
iload 8
if_icmplt 19
26: dload 4
aload 3
arraylength
i2d
ddiv
dreturn
end local 4 27: StackMap locals: sun.management.OperatingSystemImpl long int[]
StackMap stack:
ldc -1.0
dreturn
end local 3 end local 1 28: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.management.OperatingSystemImpl.getSystemCpuLoad0:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/management/OperatingSystemImpl;
2 28 1 quota J
4 13 3 periodLength J
5 13 5 numPeriods J
6 13 7 usageNanos J
8 12 9 elapsedNanos J
9 12 11 systemLoad D
16 28 3 cpuSet [I
18 27 4 systemLoad D
20 24 6 cpu I
21 24 10 cpuLoad D
private boolean isCpuSetSameAsHostCpuSet();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
ifnull 3
1: aload 0
getfield sun.management.OperatingSystemImpl.containerMetrics:Ljdk/internal/platform/Metrics;
invokeinterface jdk.internal.platform.Metrics.getCpuSetCpus:()[I
arraylength
aload 0
invokevirtual sun.management.OperatingSystemImpl.getHostConfiguredCpuCount0:()I
if_icmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/management/OperatingSystemImpl;
public native long getCommittedVirtualMemorySize();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
private native long getTotalSwapSpaceSize0();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native long getFreeSwapSpaceSize0();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public native long getProcessCpuTime();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
private native long getFreePhysicalMemorySize0();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native long getTotalPhysicalMemorySize0();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public native long getOpenFileDescriptorCount();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native long getMaxFileDescriptorCount();
descriptor: ()J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
private native double getSystemCpuLoad0();
descriptor: ()D
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
public native double getProcessCpuLoad();
descriptor: ()D
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
private native double getSingleCpuLoad0(int);
descriptor: (I)D
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
cpuNum
private native int getHostConfiguredCpuCount0();
descriptor: ()I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private static native void initialize();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "OperatingSystemImpl.java"