如何获取库伯内特斯集群中 CPU 使用率最高的前三个容器?
kubectl top po --all-namespaces
上面的命令为所有名称空间中的所有pod提供了CPU和内存利用率。如何将其限制在CPU利用率最高的前三个机架上?
此外,我尝试按CPU排序,但似乎排序不起作用。
kubectl top po --all-namespaces --sort-by="cpu"
输出:
NAMESPACE NAME CPU(cores) MEMORY(bytes)
kube-system weave-net-ksfp4 1m 51Mi
kube-system kube-controller-manager-master 10m 50Mi
kube-system coredns-5644d7b6d9-rzd64 2m 6Mi
kube-system weave-net-h4xlg 1m 77Mi
kube-system kube-proxy-lk9xv 1m 19Mi
kube-system coredns-5644d7b6d9-v2v4m 3m 6Mi
kube-system kube-scheduler-master 2m 21Mi
kube-system kube-apiserver-master 26m 228Mi
kube-system kube-proxy-lrzjh 1m 9Mi
kube-system etcd-master 12m 38Mi
kube-system metrics-server-d58c94f4d-gkmql 1m 14Mi
有不同的方法可以实现这一点,示例如下
-按标题排序
< li>
-按awk排序
< li>
排序
以下是所有节点,仅--sort by=cpu
$ kubectl top pod --all-namespaces --sort-by=cpu
NAMESPACE NAME CPU(cores) MEMORY(bytes)
default rabbit 969m 1Mi
default lion 912m 1Mi
kube-system kube-apiserver-controlplane 42m 286Mi
kube-system etcd-controlplane 14m 36Mi
kube-system kube-controller-manager-controlplane 12m 44Mi
kube-system kube-scheduler-controlplane 4m 16Mi
kube-system coredns-f9fd979d6-9x8vb 2m 8Mi
1.--按awk排序
$ kubectl top pod --all-namespaces --sort-by=cpu | awk 'FNR <= 4'
NAMESPACE NAME CPU(cores) MEMORY(bytes)
default rabbit 972m 1Mi
default lion 900m 1Mi
kube-system kube-apiserver-controlplane 42m 286Mi
2. --按头排序
$ kubectl top pod --all-namespaces --sort-by=cpu | head -n 4
NAMESPACE NAME CPU(cores) MEMORY(bytes)
default rabbit 970m 1Mi
default lion 909m 1Mi
kube-system kube-apiserver-controlplane 43m 293Mi
3.排序
$ kubectl top pod --all-namespaces | sort --reverse --numeric-sort --key 3 | head -n 4
default rabbit 971m 1Mi
default lion 913m 1Mi
kube-system kube-apiserver-controlplane 41m 286Mi
kube-system etcd-controlplane 15m 38Mi
注意:如果您不想打印标题,只需放置一个选项 --无标题
您可以使用以下命令:
kubectl top pods --all-namespaces --sort-by=cpu | sort --reverse --key 3 --numeric | head -n 3
head 命令将为您提供前 3 个 Pod。
排序应在下一版本中修复 - https://github.com/kubernetes/kubernetes/issues/81270
同时你可以用这个
kubectl top pod --all-namespaces --no-headers \
| sort --key 3 --numeric \
| tail -3
我正在使用mod安全规则https://github.com/SpiderLabs/owasp-modsecurity-crs清理用户输入数据。在将用户输入与mod security rule正则表达式匹配时,我面临着cpu激增和延迟。总的来说,它包含500个正则表达式来检查不同类型的攻击(xss、badrobots、generic和sql)。对于每个请求,我检查所有参数并对照所有这500个正则表
谁能解释一下这两种方法的真正区别 vm。GetTotalizationofCPU(CloudSim.clock()); 和 cloudlet.get利用OfCpu(CloudSim.clock()); 提前感谢
问题内容: 在Linux中是否有命令或任何其他方式来获取当前或平均 CPU使用率 (对于多处理器环境)? 我在小型系统中使用嵌入式Linux。基本上,我需要确定CPU利用率,以便在CPU利用率很高的情况下,可以将新进程转移到系统中的另一个控制器,而不是在可能忙于执行更重要进程的主处理器上执行。 这个问题不仅仅在于对进程进行优先级排序,另一个控制器可以充分处理新进程,只是当主处理器不忙时,我希望它来
我有一个Java应用程序(基于web),它有时会在几个小时内显示非常高的CPU利用率(几乎90%)。Linux的TOP命令显示了这一点。重新启动应用程序时,问题就会消失。 所以要调查: 我使用线程转储来查找线程正在执行的操作。有几个线程处于“可运行”状态,一些线程处于其他一些状态。在重复执行线程转储时,我确实看到一些线程总是处于“可运行”状态。因此,他们似乎是罪魁祸首。 但我无法确定,哪个线程占用
我正在我的a集群(10个节点)中运行几个kubernetes pod。每个pod只包含一个托管一个工作进程的容器。我已指定容器的CPU“限制”和“请求”。以下是在节点(crypt12)上运行的一个pod的描述。 以下是我运行“kubectl可描述节点crypt12”时的输出 更新:我在github问题讨论中找到了问题的答案:“kubectl描述节点”中的cpu百分比是“cpu限制/#个内核”。由于
问题内容: 关闭。 这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 最近,我的服务器CPU性能一直很高。 CPU平均负载为13.91(1分钟)11.72(5分钟)8.01(15分钟),而我的站点的流量仅略有增加。 运行完最高命令后,我看到MySQL使用的CPU是160%! 最近,我一直在优化表,并切换到持久连接。这会