Class MemoryTuning


  • public class MemoryTuning
    extends java.lang.Object
    Tunes the TaskManager memory.
    • Field Detail

      • FLINK_MEMORY_UTILS

        public static final org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils<org.apache.flink.runtime.util.config.memory.taskmanager.TaskExecutorFlinkMemory> FLINK_MEMORY_UTILS
    • Constructor Detail

      • MemoryTuning

        public MemoryTuning()
    • Method Detail

      • tuneTaskManagerMemory

        public static ConfigChanges tuneTaskManagerMemory​(JobAutoScalerContext<?> context,
                                                          EvaluatedMetrics evaluatedMetrics,
                                                          JobTopology jobTopology,
                                                          java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,​ScalingSummary> scalingSummaries,
                                                          AutoScalerEventHandler eventHandler)
        Emits a Configuration which contains overrides for the current configuration. We are not modifying the config directly, but we are emitting ConfigChanges which contain any overrides or removals. This config is persisted separately and applied by the autoscaler. That way we can clear any applied overrides if auto-tuning is disabled.
      • getTotalMemory

        public static org.apache.flink.configuration.MemorySize getTotalMemory​(org.apache.flink.configuration.Configuration config,
                                                                               JobAutoScalerContext<?> ctx)