Top
kubectl top pod // Or we could use labels, for example app=ui, app=proxy etc. kubectl top pod -l 'app in (ui, proxy, api)' -n my-namespace
Check the pods configuration
kubectl describe pod <pod-name> | grep -A5 "Limits"
Prints the five lines after the “Limits” section, for example
Limits: cpu: 500m memory: 1Gi Requests: cpu: 50m memory: 256Mi
Resource Quotas
kubectl get resourcequotas kubectl get resourcequotas -n my-namesapce
kubectl describe resourcequota {name from above call} -n my-namespace
CPU Throttling
kubectl exec <pod-name> -- cat /sys/fs/cgroup/cpu.stat kubectl exec <pod-name> -- cat /sys/fs/cgroup/cpu/cpu.stat
For example
usage_usec 177631637 user_usec 89639616 system_usec 87992020 nr_periods 191754 nr_throttled 271 throttled_usec 11291159
– nr_periods – The number of scheduling periods that have occurred.
– nr_throttled – The number of times the process was throttled due to exceeding CPU limits.