推荐一款超实用的查看容器系统资源真实使用情况的工具 topic

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

b1622a8330a5e0a3cfcaff4e2ba40a13.png

容器通过 cgroups 和 namespace 实现了资源的轻量级隔离和限制,但容器中的 /proc 文件实际上是宿主机的,因此在执行 top 命令查看容器运行信息时,部分指标显示不正确,例如启动时间、用户数、平均负载、cpu 使用率、内存使用率。

目前比较通用的解决方案是通过 lxcfs,将容器中相应的文件通过 fuse 劫持 read 调用,在打开时显示为容器信息,从而统一解决各种系统状态诊断工具的问题。

考虑到部署 lxcfs 有一定的成本,topic(top in container) 的思路则是改造 top 命令,去适配容器,读取容器中反映真实运行情况的系统文件,从而展示正确的容器运行信息,对于用户而言成本更低。

如下,在一个 1C 和 1Gi 的容器中运行 stress --cpu 2,通过 topic 和 top 查看容器的运行状态:

656f41b399c79baf58cf39879d8f1f49.png
topic
613a372c875f58967efd80397d30b068.png
top

undefined

可以看到,topic 比较好的解决了容器运行信息的问题:

  • topic 查看到的 CPU 使用率,其 us 为 99.8%,而 top 查看到的是 13.2%(实为宿主机的 us 信息)

  • topic 查看到的 Mem 是 1Gi,而 top 查看到的是 16Gi(实为宿主机的内存信息)

  • topic 查看到的 user 数是 11,而 top 查看到的 user 数是 1(实为宿主机的当前登录用户数)

  • topic 查看到的容器运行时间为 2days 10:35,而 top 查看到的是 20days 1:57(实为宿主机的运行时间)

  • topic 和 top 的进程相关信息显示基本一致。

如果你需要使用,可以通过下面地址下载 topic 到容器中运行(记得加上执行权限)。

  1. 下载地址:https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/topic/topic

  2. 项目地址:https://github.com/silenceshell/topic

本文转载自:「 Zlatan Eevee 」,原文:https://tinyurl.com/rxdb5n72 ,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

c84fc91f78fa4ea6a94ad9ca476bee4b.gif

8170b2be3fa444336c20aaec359ae9ca.png

你可能还喜欢

点击下方图片即可阅读

e1ffa027a3f656a5615bfd918b41803e.png

如何优雅的将 Docker 镜像从 1.43G 瘦身到 22.4MB

557b03c2a8a9a9e4a7b5a15429a0ed87.png

点击上方图片,『美团|饿了么』大额外卖红包天天免费领

2e377db65542d28623571e18fff1882a.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值