首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes top vs Linux top

Kubernetes top vs Linux top
EN

Stack Overflow用户
提问于 2018-08-01 19:52:47
回答 1查看 8.7K关注 0票数 7

Kubernetes top (kubectl top)命令显示了与在pod中运行的Linux命令不同的内存使用情况。

我创建了k8s部署,其中YAML包含以下内存限制:

代码语言:javascript
运行
复制
resources:
  limits:
    cpu: "1"
    memory: 2500Mi
  requests:
    cpu: 200m
    memory: 2Gi

如下所示,输出了以下命令:

代码语言:javascript
运行
复制
bash4.4$ kubectl top pod PODNAME 

NAME                     CPU(cores)   MEMORY(bytes)   
openam-d975d46ff-rnp6h   2m           1205Mi

运行linux top命令:

代码语言:javascript
运行
复制
Kubectl exec -it PODNAME top 

Mem: 12507456K used, 4377612K free, 157524K shrd, 
187812K buff, 3487744K cached

注:“空闲-g”还显示了使用的11-g。

问题是,这与"kubectl top“相矛盾,而”kubectl top“只显示了1205 mb的使用量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 14:25:05

命令kubectl top显示给定pod的度量标准。该信息基于cAdvisor的报告,该报表收集实际的豆荚资源使用情况。

如果在吊舱内运行top,就会像在主机系统上运行它一样,因为pod使用的是主机系统的内核。Unix top使用proc虚拟文件系统并读取/proc/meminfo文件来获取有关当前内存状态的实际信息。豆荚内的容器部分地与主机系统共享/proc,包括关于内存和CPU信息的路径。

在这些文档中可以找到更多信息:kubectl-顶部-pod手册页Linux容器中的内存

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51641310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档