kubectl top如何查看资源占用
更新时间:2026年03月01日 10:48:49 作者:唐僧爱程序
文章介绍了如何安装和使用metricserver来监控Kubernetes集群中的节点和Pod资源使用情况,包括CPU和内存的计量单位以及如何通过这些指标来管理资源请求和限制,同时,文章还讨论了在Docker容器中使用jps命令和释放ptrace权限的配置问题
需要安装metric server,一般部署在kube-system空间
查看node资源使用
[root@master1 ~]# kubectl top node master1 NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% master1 165m 9% 4653Mi 66%
查看pod资源
[root@master1 ~]# kubectl top pod --all-namespaces NAMESPACE NAME CPU(cores) MEMORY(bytes) admincsqorderer orderer0-admincsqorderer-57858875f8-vs7v7 0m 0Mi admincsqorg ca-admincsqorg-b4f5bb7fb-nmqm4 1m 10Mi admincsqorg peer0-admincsqorg-db5f877b4-mknfh 5m 114Mi cattle-system cattle-node-agent-62n8k 0m 0Mi cattle-system cattle-node-agent-89gpj 0m 0Mi 也可以指定namespace [root@master1 ~]# kubectl top pod -n dst_namespace pod_name 还可以精确到容器 [root@master1 ~]# kubectl top pod -n dst_namespace pod_name --containers
指标含义
- 和k8s中的request、limit一致,CPU单位100m=0.1 内存单位1Mi=1024Ki
- pod的内存值是其实际使用量,也是做limit限制时判断oom的依据。pod的使用量等于其所有业务容器的总和,不包括 pause 容器,值等于cadvisr中的container_memory_working_set_bytes指标
- node的值并不等于该node 上所有 pod 值的总和,也不等于直接在机器上运行 top 或 free 看到的值
解决docker中不能使用jps命令
- 配置环境变量
export PATH="$PATH:/usr/java/jdk1.8.0_91/bin"
- 释放docker容器ptrace权限
在docker run 命令中加上参数--cap-add=SYS_PTRACE docker run --cap-add=SYS_PTRACE ......
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
K8S中某个容器突然出现内存和CPU占用过高的问题及解决方案
当K8S容器出现资源过载时,可通过kubectl监控定位问题,调整资源限制,优化应用代码,拆分多应用容器,利用监控工具排查,实施水平扩展或迁移负载,确保集群稳定运行2025-07-07
阿里云kubernetes查找镜像中jar包的方法(docker查看镜像中的jar)
这篇文章主要给大家介绍了关于阿里云kubernetes查找镜像中jar包的方法,也就是在docker查看镜像中的jar,文中通过图文介绍的非常详细,需要的朋友可以参考下2022-09-09
二进制方式安装 Kubernetes1.18.3版本实现脚本
这篇文章主要为大家介绍了二进制方式安装Kubernetes1.18.3版本实现脚本,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-03-03


最新评论