public class jdk.internal.platform.cgroupv2.CgroupV2Subsystem implements jdk.internal.platform.CgroupSubsystem
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.platform.cgroupv2.CgroupV2Subsystem
super_class: java.lang.Object
{
private static final jdk.internal.platform.cgroupv2.CgroupV2Subsystem INSTANCE;
descriptor: Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] LONG_ARRAY_NOT_SUPPORTED;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] INT_ARRAY_UNAVAILABLE;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final jdk.internal.platform.CgroupSubsystemController unified;
descriptor: Ljdk/internal/platform/CgroupSubsystemController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.String PROVIDER_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cgroupv2"
private static final int PER_CPU_SHARES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final java.lang.String MAX_VAL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "max"
private static final java.lang.Object EMPTY_STR;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.initSubsystem:()Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
putstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.INSTANCE:Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1: aconst_null
putstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.LONG_ARRAY_NOT_SUPPORTED:[J
2: aconst_null
putstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.INT_ARRAY_UNAVAILABLE:[I
3: ldc ""
putstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.EMPTY_STR:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(jdk.internal.platform.CgroupSubsystemController);
descriptor: (Ljdk/internal/platform/CgroupSubsystemController;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 3 1 unified Ljdk/internal/platform/CgroupSubsystemController;
MethodParameters:
Name Flags
unified
private long getLongVal(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
1: aload 1
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/platform/cgroupv2/CgroupV2SubsystemController.convertStringToLong(Ljava/lang/String;)J (6)
(Ljava/lang/String;)Ljava/lang/Long;
3: ldc -1
4: invokestatic jdk.internal.platform.CgroupSubsystemController.getLongValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/util/function/Function;J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 5 1 file Ljava/lang/String;
MethodParameters:
Name Flags
file
private static jdk.internal.platform.cgroupv2.CgroupV2Subsystem initSubsystem();
descriptor: ()Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=0
0: aconst_null
astore 0
start local 0 1: aconst_null
astore 1
aconst_null
astore 2
2: ldc "/proc/self/mountinfo"
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic jdk.internal.platform.CgroupUtil.readFilePrivileged:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
3: astore 3
start local 3 4: aload 3
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/internal/platform/cgroupv2/CgroupV2Subsystem.lambda$1(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: invokestatic java.util.stream.Collectors.joining:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
6: astore 4
start local 4 7: aload 4
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 8: aload 5
iconst_4
aaload
astore 0
end local 5 end local 4 9: aload 3
ifnull 17
aload 3
invokeinterface java.util.stream.Stream.close:()V
goto 17
StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
10: astore 1
aload 3
ifnull 11
aload 3
invokeinterface java.util.stream.Stream.close:()V
end local 3 StackMap locals:
StackMap stack:
11: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 2
aload 1
ifnonnull 13
aload 2
astore 1
goto 14
StackMap locals:
StackMap stack:
13: aload 1
aload 2
if_acmpeq 14
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 1
athrow
StackMap locals: java.lang.String
StackMap stack: java.io.IOException
15: pop
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 18: ldc "/proc/self/cgroup"
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic jdk.internal.platform.CgroupUtil.readAllLinesPrivileged:(Ljava/nio/file/Path;)Ljava/util/List;
astore 2
start local 2 19: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 29
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 20: aload 3
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 21: aload 5
arraylength
iconst_3
if_icmpeq 23
22: aconst_null
areturn
23: StackMap locals: java.lang.String java.lang.String java.util.List java.lang.String java.util.Iterator java.lang.String[]
StackMap stack:
ldc "0"
aload 5
iconst_0
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
24: aconst_null
areturn
25: StackMap locals:
StackMap stack:
aload 5
iconst_2
aaload
astore 1
end local 5 end local 3 end local 2 26: goto 29
StackMap locals: java.lang.String java.lang.String
StackMap stack: java.io.IOException
27: pop
28: aconst_null
areturn
29: StackMap locals:
StackMap stack:
new jdk.internal.platform.cgroupv2.CgroupV2SubsystemController
dup
30: aload 0
31: aload 1
32: invokespecial jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 33: new jdk.internal.platform.cgroupv2.CgroupV2Subsystem
dup
aload 2
invokespecial jdk.internal.platform.cgroupv2.CgroupV2Subsystem.<init>:(Ljdk/internal/platform/CgroupSubsystemController;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 34 0 mountPath Ljava/lang/String;
4 11 3 lines Ljava/util/stream/Stream<Ljava/lang/String;>;
7 9 4 l Ljava/lang/String;
8 9 5 tokens [Ljava/lang/String;
18 34 1 cgroupPath Ljava/lang/String;
19 26 2 lines Ljava/util/List<Ljava/lang/String;>;
20 26 3 line Ljava/lang/String;
21 26 5 tokens [Ljava/lang/String;
33 34 2 unified Ljdk/internal/platform/CgroupSubsystemController;
Exception table:
from to target type
4 9 10 any
2 12 12 any
1 15 15 Class java.io.IOException
18 22 27 Class java.io.IOException
23 24 27 Class java.io.IOException
25 26 27 Class java.io.IOException
public static jdk.internal.platform.CgroupSubsystem getInstance();
descriptor: ()Ljdk/internal/platform/CgroupSubsystem;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.INSTANCE:Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String getProvider();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "cgroupv2"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getCpuUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "usage_usec"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifge 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 4 1 micros J
public long[] getPerCpuUsage();
descriptor: ()[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.LONG_ARRAY_NOT_SUPPORTED:[J
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getCpuUserUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "user_usec"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifge 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 4 1 micros J
public long getCpuSystemUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "system_usec"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifge 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 4 1 micros J
public long getCpuPeriod();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getFromCpuMax:(I)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getCpuQuota();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getFromCpuMax:(I)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
private long getFromCpuMax(int);
descriptor: (I)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.max"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: ldc -1
lreturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "\\s+"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 4: aload 3
arraylength
iconst_2
if_icmpeq 6
5: ldc -1
lreturn
6: StackMap locals: java.lang.String[]
StackMap stack:
aload 3
iload 1
aaload
astore 4
start local 4 7: aload 0
aload 4
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.limitFromString:(Ljava/lang/String;)J
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 8 1 tokenIdx I
1 8 2 cpuMaxRaw Ljava/lang/String;
4 8 3 tokens [Ljava/lang/String;
7 8 4 quota Ljava/lang/String;
MethodParameters:
Name Flags
tokenIdx
private long limitFromString(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
ldc "max"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc -1
lreturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 3 1 strVal Ljava/lang/String;
MethodParameters:
Name Flags
strVal
public long getCpuShares();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=1
start local 0 0: aload 0
ldc "cpu.weight"
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getLongVal:(Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
ldc 100
lcmp
ifeq 2
lload 1
lconst_0
lcmp
ifgt 3
2: StackMap locals: long
StackMap stack:
ldc -1
lreturn
3: StackMap locals:
StackMap stack:
lload 1
l2i
istore 3
start local 3 4: ldc 262142
iload 3
imul
iconst_1
isub
istore 4
start local 4 5: iload 4
i2d
ldc 9999.0
ddiv
dstore 5
start local 5 6: dload 5
d2i
iconst_2
iadd
istore 4
7: iload 4
sipush 1024
if_icmpgt 9
8: ldc 1024
lreturn
9: StackMap locals: int int double
StackMap stack:
iload 4
sipush 1024
idiv
istore 7
start local 7 10: iload 7
sipush 1024
imul
istore 8
start local 8 11: iload 7
iconst_1
iadd
sipush 1024
imul
istore 9
start local 9 12: iload 8
iload 4
invokestatic java.lang.Math.max:(II)I
iload 8
iload 4
invokestatic java.lang.Math.min:(II)I
isub
istore 10
start local 10 13: iload 9
iload 4
invokestatic java.lang.Math.max:(II)I
iload 9
iload 4
invokestatic java.lang.Math.min:(II)I
isub
istore 11
start local 11 14: iload 10
iload 11
if_icmpgt 15
iload 8
goto 16
StackMap locals: jdk.internal.platform.cgroupv2.CgroupV2Subsystem long int int double int int int int int
StackMap stack:
15: iload 9
StackMap locals:
StackMap stack: int
16: istore 4
17: iload 4
i2l
lreturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 18 1 sharesRaw J
4 18 3 shares I
5 18 4 x I
6 18 5 frac D
10 18 7 f I
11 18 8 lower_multiple I
12 18 9 upper_multiple I
13 18 10 distance_lower I
14 18 11 distance_upper I
public long getCpuNumPeriods();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "nr_periods"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getCpuNumThrottled();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "nr_throttled"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getCpuThrottledTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpu.stat"
ldc "throttled_usec"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lstore 1
start local 1 1: lload 1
lconst_0
lcmp
ifge 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 4 1 micros J
public long getEffectiveCpuCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public int[] getCpuSetCpus();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpuset.cpus"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getCpuSet:(Ljava/lang/String;)[I
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 cpuSetVal Ljava/lang/String;
public int[] getEffectiveCpuSetCpus();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpuset.cpus.effective"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getCpuSet:(Ljava/lang/String;)[I
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 effCpuSetVal Ljava/lang/String;
public int[] getCpuSetMems();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpuset.mems"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getCpuSet:(Ljava/lang/String;)[I
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 cpuSetMems Ljava/lang/String;
public int[] getEffectiveCpuSetMems();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "cpuset.mems.effective"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getCpuSet:(Ljava/lang/String;)[I
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 effCpuSetMems Ljava/lang/String;
private int[] getCpuSet(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
getstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.EMPTY_STR:Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
getstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.INT_ARRAY_UNAVAILABLE:[I
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.internal.platform.CgroupSubsystemController.stringRangeToIntArray:(Ljava/lang/String;)[I
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 3 1 cpuSetVal Ljava/lang/String;
MethodParameters:
Name Flags
cpuSetVal
public long getMemoryFailCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "memory.events"
ldc "max"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getMemoryLimit();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "memory.max"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.limitFromString:(Ljava/lang/String;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 strVal Ljava/lang/String;
public long getMemoryUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "memory.current"
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getLongVal:(Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getTcpMemoryUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "memory.stat"
ldc "sock"
invokestatic jdk.internal.platform.cgroupv2.CgroupV2SubsystemController.getLongEntry:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getMemoryAndSwapLimit();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "memory.swap.max"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.limitFromString:(Ljava/lang/String;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 strVal Ljava/lang/String;
public long getMemoryAndSwapUsage();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "memory.swap.current"
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getLongVal:(Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getMemorySoftLimit();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
ldc "memory.high"
invokestatic jdk.internal.platform.CgroupSubsystemController.getStringValue:(Ljdk/internal/platform/CgroupSubsystemController;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.limitFromString:(Ljava/lang/String;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
1 2 1 softLimitStr Ljava/lang/String;
public long getBlkIOServiceCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/platform/cgroupv2/CgroupV2Subsystem.lineToRandWIOs(Ljava/lang/String;)Ljava/lang/Long; (6)
(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.sumTokensIOStat:(Ljava/util/function/Function;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
public long getBlkIOServiced();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/platform/cgroupv2/CgroupV2Subsystem.lineToRBytesAndWBytesIO(Ljava/lang/String;)Ljava/lang/Long; (6)
(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual jdk.internal.platform.cgroupv2.CgroupV2Subsystem.sumTokensIOStat:(Ljava/util/function/Function;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
private long sumTokensIOStat(java.util.function.Function<java.lang.String, java.lang.Long>);
descriptor: (Ljava/util/function/Function;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.platform.cgroupv2.CgroupV2Subsystem.unified:Ljdk/internal/platform/CgroupSubsystemController;
invokeinterface jdk.internal.platform.CgroupSubsystemController.path:()Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "io.stat"
aastore
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic jdk.internal.platform.CgroupUtil.readFilePrivileged:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
1: aload 1
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)J
jdk/internal/platform/cgroupv2/CgroupV2Subsystem.lambda$4(Ljava/lang/Long;)J (6)
(Ljava/lang/Long;)J
invokestatic java.util.stream.Collectors.summingLong:(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
3: lreturn
4: StackMap locals:
StackMap stack: java.io.IOException
pop
5: ldc -1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/platform/cgroupv2/CgroupV2Subsystem;
0 6 1 mapFunc Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Long;>;
Exception table:
from to target type
0 3 4 Class java.io.IOException
Signature: (Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/Long;>;)J
MethodParameters:
Name Flags
mapFunc
private static java.lang.String[] getRWIOMatchTokenNames();
descriptor: ()[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "rios"
aastore
dup
iconst_1
ldc "wios"
aastore
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String[] getRWBytesIOMatchTokenNames();
descriptor: ()[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "rbytes"
aastore
dup
iconst_1
ldc "wbytes"
aastore
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.Long lineToRandWIOs(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Long;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getRWIOMatchTokenNames:()[Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.ioStatLineToLong:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Long;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 line Ljava/lang/String;
1 2 1 matchNames [Ljava/lang/String;
MethodParameters:
Name Flags
line
public static java.lang.Long lineToRBytesAndWBytesIO(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Long;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.getRWBytesIOMatchTokenNames:()[Ljava/lang/String;
astore 1
start local 1 1: aload 0
aload 1
invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.ioStatLineToLong:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Long;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 line Ljava/lang/String;
1 2 1 matchNames [Ljava/lang/String;
MethodParameters:
Name Flags
line
private static java.lang.Long ioStatLineToLong(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Long;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=14, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
getstatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.EMPTY_STR:Ljava/lang/Object;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "\\s+"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 3: lconst_0
lstore 3
start local 3 4: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: java.lang.String java.lang.String[] java.lang.String[] long top int int java.lang.String[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 5
ldc "="
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 9
start local 9 7: aload 9
arraylength
iconst_2
if_icmpeq 9
8: goto 15
9: StackMap locals: java.lang.String java.lang.String[] java.lang.String[] long java.lang.String int int java.lang.String[] java.lang.String[]
StackMap stack:
aload 1
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 14
StackMap locals: java.lang.String java.lang.String[] java.lang.String[] long java.lang.String int int java.lang.String[] java.lang.String[] top int int java.lang.String[]
StackMap stack:
10: aload 13
iload 11
aaload
astore 10
start local 10 11: aload 10
aload 9
iconst_0
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: lload 3
aload 9
iconst_1
aaload
invokestatic jdk.internal.platform.cgroupv2.CgroupV2Subsystem.longOrZero:(Ljava/lang/String;)J
ladd
lstore 3
end local 10 13: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
14: iload 11
iload 12
if_icmplt 10
end local 9 end local 5 15: StackMap locals: java.lang.String java.lang.String[] java.lang.String[] long top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 5
17: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 line Ljava/lang/String;
0 18 1 matchNames [Ljava/lang/String;
3 18 2 tokens [Ljava/lang/String;
4 18 3 retval J
6 15 5 t Ljava/lang/String;
7 15 9 valKeys [Ljava/lang/String;
11 13 10 match Ljava/lang/String;
MethodParameters:
Name Flags
line
matchNames
private static long longOrZero(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 1
2: goto 4
StackMap locals: java.lang.String long
StackMap stack: java.lang.NumberFormatException
3: pop
4: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 val Ljava/lang/String;
1 5 1 lVal J
Exception table:
from to target type
1 2 3 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
val
private static boolean lambda$1(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc " - cgroup2 "
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 line Ljava/lang/String;
private static long lambda$4(java.lang.Long);
descriptor: (Ljava/lang/Long;)J
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Long.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/Long;
}
SourceFile: "CgroupV2Subsystem.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles