Class ProcessMemoryUtils<FM extends FlinkMemory>
- Type Parameters:
FM- the FLink memory component structure
The utility calculates all common process memory components from CommonProcessMemorySpec.
It is required to configure at least one subset of the following options and recommended to configure only one:
ProcessMemoryOptions.getRequiredFineGrainedOptions()ProcessMemoryOptions.getTotalFlinkMemoryOption()ProcessMemoryOptions.getTotalProcessMemoryOption()
The utility derives the Total Process Memory from the Total Flink Memory and JVM components
and back. To perform the calculations, it uses the provided ProcessMemoryOptions which
are different for different Flink processes: JM/TM.
The utility also calls the provided FlinkMemoryUtils to derive FlinkMemory components
from ProcessMemoryOptions.getRequiredFineGrainedOptions() or from the Total Flink memory.
The concrete FlinkMemoryUtils is implemented for the respective processes: JM/TM,
according to the specific structure of their FlinkMemory.
-
Constructor Summary
ConstructorsConstructorDescriptionProcessMemoryUtils(ProcessMemoryOptions options, FlinkMemoryUtils<FM> flinkMemoryUtils) -
Method Summary
Modifier and TypeMethodDescriptionderiveJvmMetaspaceAndOverheadFromTotalFlinkMemory(org.apache.flink.configuration.Configuration config, org.apache.flink.configuration.MemorySize totalFlinkMemorySize) static org.apache.flink.configuration.MemorySizederiveWithFraction(String memoryDescription, org.apache.flink.configuration.MemorySize base, RangeFraction rangeFraction) static org.apache.flink.configuration.MemorySizederiveWithInverseFraction(String memoryDescription, org.apache.flink.configuration.MemorySize base, RangeFraction rangeFraction) static StringgenerateJvmParametersStr(ProcessMemorySpec processSpec) static StringgenerateJvmParametersStr(ProcessMemorySpec processSpec, boolean enableDirectMemoryLimit) static org.apache.flink.configuration.MemorySizegetMemorySizeFromConfig(org.apache.flink.configuration.Configuration config, org.apache.flink.configuration.ConfigOption<org.apache.flink.configuration.MemorySize> option) static RangeFractiongetRangeFraction(org.apache.flink.configuration.MemorySize minSize, org.apache.flink.configuration.MemorySize maxSize, org.apache.flink.configuration.ConfigOption<Float> fractionOption, org.apache.flink.configuration.Configuration config) memoryProcessSpecFromConfig(org.apache.flink.configuration.Configuration config)
-
Constructor Details
-
ProcessMemoryUtils
-
-
Method Details
-
memoryProcessSpecFromConfig
public CommonProcessMemorySpec<FM> memoryProcessSpecFromConfig(org.apache.flink.configuration.Configuration config) -
deriveJvmMetaspaceAndOverheadFromTotalFlinkMemory
public JvmMetaspaceAndOverhead deriveJvmMetaspaceAndOverheadFromTotalFlinkMemory(org.apache.flink.configuration.Configuration config, org.apache.flink.configuration.MemorySize totalFlinkMemorySize) -
getMemorySizeFromConfig
public static org.apache.flink.configuration.MemorySize getMemorySizeFromConfig(org.apache.flink.configuration.Configuration config, org.apache.flink.configuration.ConfigOption<org.apache.flink.configuration.MemorySize> option) -
getRangeFraction
public static RangeFraction getRangeFraction(org.apache.flink.configuration.MemorySize minSize, org.apache.flink.configuration.MemorySize maxSize, org.apache.flink.configuration.ConfigOption<Float> fractionOption, org.apache.flink.configuration.Configuration config) -
deriveWithFraction
public static org.apache.flink.configuration.MemorySize deriveWithFraction(String memoryDescription, org.apache.flink.configuration.MemorySize base, RangeFraction rangeFraction) -
deriveWithInverseFraction
public static org.apache.flink.configuration.MemorySize deriveWithInverseFraction(String memoryDescription, org.apache.flink.configuration.MemorySize base, RangeFraction rangeFraction) -
generateJvmParametersStr
-
generateJvmParametersStr
public static String generateJvmParametersStr(ProcessMemorySpec processSpec, boolean enableDirectMemoryLimit)
-