...
These JVM metrics are exposed and can be used through the TaskManager's metrics REST API.
JVM | Metric | Used key | Total key | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Heap | Status.JVM.Memory.Heap | Used | Max | ||||||||
Direct | Status.JVM.Memory.Direct | Used | Max | ||||||||
Metaspace | Status.JVM.Memory.Metaspace
| Used | Max | ||||||||
Mapped | Status.JVM.Memory.Mapped | MemoryUsed | TotalCapacity | ||||||||
NonHeap | Status.JVM.Memory.NonHeap | MemoryUsed | TotalCapacity |
Memory Configuration
Flink's memory model (as described in org.apache.flink.runtime.clusterframework.TaskExecutorProcessSpec
) can be mapped to the following Flink configuration parameters. There are a few that have a correlating Flink metric.
Flink Memory Model | Flink configuration1 | REST API2 | Metric3 | Used key | Total key | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Framework Heap | taskmanager.memory.framework.heap.size | memoryConfiguration.frameworkHeap | Status.JVM.Memory.Heap | Used | Max | ||||||||
Task Heap | taskmanager.memory.task.heap.size | memoryConfiguration.taskHeap | |||||||||||
Framework OffHeap | taskmanager.memory.framework.off-heap.size | memoryConfiguration.frameworkOffHeap | - | - | - | ||||||||
Task OffHeap | taskmanager.memory.task.off-heap.size | memoryConfiguration.taskOffHeap | |||||||||||
Network Memory | memoryConfiguration.networkMemory | Status.Shuffle.Netty | UsedMemory | TotalMemory | |||||||||
Managed Memory | taskmanager.memory.managed.size | memoryConfiguration.managedMemory | Status.ManagedMemory | (is up for discussion, still) | (is up for discussion, still) |
JVM Metaspace | taskmanager.memory.jvm-metaspace.size | memoryConfiguration.jvmMetaspace | Status.JVM.Memory.Metaspace | Used | Max |
JVM Overhead | memoryConfiguration.jvmOverhead | - | - | - |
1 These are the configuration parameters used in the Flink configuration.
2 These are the Json paths to address the properties in the HTTP REST API response. Additionally, memoryConfiguration.totalFlinkMemory
and totalProcessMemory
are exposed through the REST API.
3 The metrics which are exposed through the TaskManager's metrics REST API.
...