Why does a cluster or node show requested memory with a milli (m) unit?

Follow
Table of Contents

Question

Why does a cluster or node show requested memory with a milli (m) unit?

Pre-requisites

  • provisioned Kubernetes cluster

Answer

CPU resources in Kubernetes are measured in millicpus, or 1/1000th of a CPU core, and 1 CPU Core = 1000m. The API will change any request for a decimal point into millicpus. For example 0.1 is converted into 100m. One hyperthread is considered one core, or 1000m.

Memory resources in Kubernetes are mesured in bytes, and can be expressed as an integer with one of these suffixes: E, P, T, G, M, K - decimal suffixes, or Ei, Pi, Ti, Gi, Mi, Ki - binary suffixes (more commonly used for memory), or omit the suffix altogether. Lowercase "m" notation is not a recommended suffix for memory.

The "m" notation for memory might indicate a misconfiguration, where CPU units are recommended to use that suffix (example: 200m), and Memory units are recommended to use "Mi" (example: 128Mi).

Further Reading

Explaination of Kubernetes CPU resources (https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu) Explaination of Kubernetes memory resources (https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory)

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.