topic - top in container,容器版本的top

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

推荐一个容器中查看系统信息的工具topic。

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

[[424307]]

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

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

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

topic:

top:

 

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

  • - topic查看的load average是2.03,而top查看到的是1.31(实为宿主机的load average)
  • - 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到容器中运行(记得加上执行权限),好用可以给个Star ^_^

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

 

责任编辑:未丽燕 来源: Dockone.io
相关推荐

2020-12-17 08:11:01

MySQL数据库top命令

2013-11-25 15:43:14

Linux命令top命令

2014-12-19 13:49:09

万网top阵营

2014-09-18 12:25:38

.Top域名

2014-07-24 11:37:54

LinuxTop命令

2017-12-06 15:27:21

IntelliJ插件Grep Consol

2023-02-16 11:35:51

2014-12-15 17:12:01

top域名

2019-08-02 09:26:24

深度学习框架排行榜

2024-11-01 12:35:36

2010-05-26 11:00:57

MySQL top n

2010-08-25 13:54:29

CSStop

2017-01-19 00:21:37

Android 开源数据库

2020-03-02 00:52:04

OWASP软件安全漏洞

2015-07-28 10:43:38

js\height\

2022-04-02 09:01:21

GitHub工具库前端

2012-05-07 08:23:02

top监控命令FreeBSD

2022-03-28 15:51:45

Linuxtop 命令

2022-02-11 09:01:45

LeetCode函数括号生成

2013-12-17 10:39:24

命令top
点赞
收藏

51CTO技术栈公众号