如何在 Kubernetes 中测量由于 cpu.shares 引起的节流
How to measure throttling due to cpu.shares in Kubernetes
/sys/fs/cgroup/cpu/cpu.stat
中提供节流统计信息
根据 k8s CPU 请求的文档,该数字已翻译
进入 /sys/fs/cgroup/cpu/cpu.shares
的值
如果节点上的容器 A 的 cpu.shares
值是
容器 B,那么如果两者同时尝试 运行,它将获得两倍的时间。
这是否被认为是容器 B 的节流基于
cpu.shares
价值?
如果是这样,我们如何衡量这种节流?
首先,只有在 CPU 压力出现之后,CPU 股票才有意义。只要有足够的 CPU,所有任务都可以 运行 任意时间。
其次,CPU 请求不会导致节流,只有限制才会。有关详细信息,请阅读有关 Quality of Service for Pods.
的更多信息
您可以使用 Metrics-server 或 Prometheus 测量由于 CPU 限制导致的 CPU 节流:https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/master/alerts/resource_alerts.libsonnet#L143
中提供节流统计信息/sys/fs/cgroup/cpu/cpu.stat
根据 k8s CPU 请求的文档,该数字已翻译
的值
进入/sys/fs/cgroup/cpu/cpu.shares
如果节点上的容器 A 的
cpu.shares
值是 容器 B,那么如果两者同时尝试 运行,它将获得两倍的时间。这是否被认为是容器 B 的节流基于
cpu.shares
价值?如果是这样,我们如何衡量这种节流?
首先,只有在 CPU 压力出现之后,CPU 股票才有意义。只要有足够的 CPU,所有任务都可以 运行 任意时间。
其次,CPU 请求不会导致节流,只有限制才会。有关详细信息,请阅读有关 Quality of Service for Pods.
的更多信息您可以使用 Metrics-server 或 Prometheus 测量由于 CPU 限制导致的 CPU 节流:https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/master/alerts/resource_alerts.libsonnet#L143