首页 > 解决方案 > Kubernetes 集群中 CPU 内核使用率高(84%)

问题描述

我已经设置了 Prometheus 和 Grafana 来跟踪和监控我的 Kubernetes 集群。

我为集群设置了 3 个节点。

我有 26 个 pod 正在运行(主要是监控命名空间)。

我有一个主要的 Node 应用程序(部署)正在运行,现在没有任何负载。

我试图理解这些图表指标。但是,尽管应用程序没有负载,但我无法理解为什么 CPU 内核使用率如此之高。

这是一个grafana屏幕截图

格拉法纳

24% 的内存使用我可以理解,因为有 Kubernetes 进程也在运行,例如 kube-system 等。

它还告诉我我的集群可以支持 330 个 Pod(目前是 26 个)。我只担心高cpu核心。谁能解释一下。

标签: kubernetesgrafanaprometheus

解决方案


82% 不是进程的 CPU 使用率,而是请求资源与可分配资源的比率(2.31 / 2.82 = 0.819 --> ~82%)。

这意味着在您的 2.82 个可用(可分配 CPU)中,您为监控命名空间中的 pod 请求(分配)了大约 82%,但这并不意味着它们实际上使用了那么多 CPU。

要查看实际的 CPU 使用率,请查看container_cpu_usage_seconds_total(每个容器的 CPU 使用率)甚至process_cpu_seconds_total(每个进程的 CPU 使用率)之类的指标。


推荐阅读