<p>上一篇,我们明白了为啥容器内top查看的是宿主机的资源消耗。</p><p>这里分享一个工具,在容器里代替top命令用于查看容器自身的资源消耗</p><h2><span/><span>topic</span><span/><span> </span></h2><p>topic 即 top in container的缩写,意味容器内的top命令</p><p>针对容器内查看系统状态的问题,目前比较通用的解决方案是通过lxcfs,将容器中相应的文件通过fuse劫持read调用,在打开时显示为容器信息,从而统一解决各种系统状态诊断工具的问题。</p><p>考虑到部署lxcfs有一定的成本,topic(top in container)的思路则是改造top命令,去适配容器,读取容器中反映真实运行情况的系统文件,从而展示正确的容器运行信息,对于用户而言成本更低。</p><h2><span/><span>安装使用</span><span/><span> </span></h2><p>下载地址:silenceshell/topic: top in container. (github.com)</p><h3><span/><span>make</span><span/></h3><p>下载的是源码,需要自己make一下,发出二进制包</p>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
<h3><span/><span>复制到需要的容器</span><span/></h3><p>假设我有一个创建一个2c2g限制的业务容器,比如tomcat</p>docker run -d --name topic-test --cpus 2 --memory 2g tomcat:9.0
<div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/5149787-31b156b33adaf566.jpeg" img-data="{"format":"jpeg","size":88370,"width":716,"height":370,"space":"srgb","channels":3,"depth":"uchar","density":72,"chromaSubsampling":"4:2:0","isProgressive":false,"hasProfile":false,"hasAlpha":false}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div>image-20240417104958385docker cp topic topic-test:/usr/bin
<p>加一下可执行权限</p>docker exec -it topic-test sh
chmod +x topic
topic
<p>现在的cpu和内存都是容器自己的</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/5149787-349c785c236edf6e.jpeg" img-data="{"format":"jpeg","size":28481,"width":831,"height":204,"space":"srgb","channels":3,"depth":"uchar","density":72,"chromaSubsampling":"4:2:0","isProgressive":false,"hasProfile":false,"hasAlpha":false}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div>image-20240417135005113<p>
</p>
【开源分享】容器内的top命令工具
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 项目背景 阿里巴巴内部从最早引入混沌工程解决微服务的依赖问题,到业务服务、云服务稳态验证,进一步升级到公共云、专有...
- 一 将chaosblade复制到docker容器内 1.用终端工具连接进入服务所在虚机(我用的是MobaXter...
- 开源EDA工具OpenRoad使用记录 前言 解决网络问题利用国内镜像proxygithub 代理让终端代理doc...
- 镜像 获取镜像 docker pull 拉取镜像 格式: docker pull [选项] [Docker Reg...
- ChaosBlade可针对多达7个场景开展故障注入实验,但网上官方的中英文文档质量欠佳,内容缺失,真心没有站在一般...