【开源分享】容器内的top命令工具

本文介绍了一个名为topincontainer的工具,它允许在容器内部查看自身的资源消耗,避免了通过lxcfs间接获取宿主机资源的问题。该工具通过直接读取容器内的系统文件,提供低成本的容器资源监控解决方案,并提供了安装和使用的步骤示例。
摘要由CSDN通过智能技术生成

上一篇,我们明白了为啥容器内top查看的是宿主机的资源消耗。

这里分享一个工具,在容器里代替top命令用于查看容器自身的资源消耗

topic

topic 即 top in container的缩写,意味容器内的top命令

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

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

安装使用

下载地址:silenceshell/topic: top in container. (github.com)

make

下载的是源码,需要自己make一下,发出二进制包

wget https://github.com/silenceshell/topic/archive/refs/tags/0.0.4.tar.gz
mkdir topic && tar -zxvf 0.0.4.tar.gz -C topic
cd topic/topic-0.0.4/ && make build

复制到需要的容器

假设我有一个创建一个2c2g限制的业务容器,比如tomcat

docker run -d --name topic-test --cpus 2 --memory 2g tomcat:9.0

777a25062047a01f2b34470e51e1ee02.jpeg

image-20240417104958385docker cp topic topic-test:/usr/bin

加一下可执行权限

docker exec -it topic-test sh
chmod +x topic
topic

现在的cpu和内存都是容器自己的

6c9401f165553e5c3ba40f05421a0a23.jpeg

image-20240417135005113


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值