kubernetes - Kubernetes 集群中 CPU 内核使用率高(84%)
问题描述
我已经设置了 Prometheus 和 Grafana 来跟踪和监控我的 Kubernetes 集群。
我为集群设置了 3 个节点。
我有 26 个 pod 正在运行(主要是监控命名空间)。
我有一个主要的 Node 应用程序(部署)正在运行,现在没有任何负载。
我试图理解这些图表指标。但是,尽管应用程序没有负载,但我无法理解为什么 CPU 内核使用率如此之高。
这是一个grafana屏幕截图
24% 的内存使用我可以理解,因为有 Kubernetes 进程也在运行,例如 kube-system 等。
它还告诉我我的集群可以支持 330 个 Pod(目前是 26 个)。我只担心高cpu核心。谁能解释一下。
解决方案
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 使用率)之类的指标。
推荐阅读
- javascript - Google Map Api 悬停标记放大图标
- r - 合并大型数据集的最快方法
- javascript - HTML:滚动过程中屏幕卡顿时穿过固定在页面顶部的粘性文本
- angular - fullCalendar-如何以角度取消选择选定的日期
- python - 如何匹配张量流(python)函数的参数
- angularjs - 使用assetic将jquery counterup插件添加到symfony 2
- python - Importing tflearn is very slow
- charts - Chart.js 从折线图中移除阴影
- php - 将数据从一个视图发送到另一个视图 - 流明 (AMP)
- c - scanf_s() 缓冲区在哪里定义?