What is the meaning of CPU and core in Kubernetes?

To clarify what’s described here in the Kubernetes context, 1 CPU is the same as a core (Also more information here).

1000m (milicores) = 1 core = 1 vCPU = 1 AWS vCPU = 1 GCP Core.
100m (milicores) = 0.1 core = 0.1 vCPU = 0.1 AWS vCPU = 0.1 GCP Core.

For example, an Intel Core i7-6700 has four cores, but it has Hyperthreading which doubles what the system sees in terms of cores. So in essence, it will show up in Kubernetes as:

8000m = 8 cores = 8 vCPUs

Some extra information: These resources are managed by the kube-scheduler using the Completely Fair Scheduler (CFS), and there are no guarantees in terms of overruns within the same machine and your pod may be moved around.

If you’d like to have stronger guarantees, you might consider the --cpu-manager-policy=static (CPU Manager) option in the kubelet. More information is here and here.

For more details on what your system sees as a CPU (and number of CPUs) on a Linux system you can see how many vCPUs you have by running cat /proc/cpuinfo.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)