When the EC2 instance types used for EKS node groups have a memory-to-CPU ratio that doesn’t match the workload profile, the result is poor bin-packing efficiency. For example, if memory-intensive containers are scheduled on compute-optimized nodes, memory may run out first while CPU remains unused. This forces new nodes to be provisioned earlier than necessary. Over time, this mismatch can lead to higher compute costs even if the cluster appears fully utilized.
EKS clusters incur compute charges based on the EC2 instance types used in each node group. Each instance type has a fixed vCPU-to-memory ratio and is billed per second or hour. If this ratio doesn’t align with the actual requirements of the container workloads, either CPU or memory may be underutilized—resulting in inefficient node usage and unnecessary cost. The EKS service itself also incurs a fixed hourly fee per cluster.
Update node groups to use EC2 instance types with resource ratios better suited to the workloads they support. Where applicable, split workloads into dedicated node groups by profile (e.g., memory-heavy vs. compute-heavy) and apply appropriate instance families. For autoscaling clusters, consider enabling mixed-instance policies to allow better flexibility and reduce scheduling inefficiencies.