请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
ctop是一个新的基于命令行的工具,它可用于在容器层级监控进程。容器通过利用控制器组(cgroup)的资源管理功能,提供了操作系统层级的虚拟化环境。该工具从cgroup收集与内存、CPU、块输入输出的相关数据,以及拥有者、开机时间等元数据,并以人性化的格式呈现给用户,这样就可以快速对系统健康状况进行评估。基于所获得的数据,它可以尝试推测下层的容器技术。ctop也有助于在低内存环境中检测出谁在消耗大量的内存。

功能
ctop的一些功能如下:
[align=justify]
    [li]收集CPU、内存和块输入输出的度量值[/li][li]收集与拥有者、容器技术和任务统计相关的信息[/li][li]通过任意栏对信息排序[/li][li]以树状视图显示信息[/li][li]折叠/展开cgroup树[/li][li]选择并跟踪cgroup/容器[/li][li]选择显示数据刷新的时间窗口[/li][li]暂停刷新数据[/li][li]检测基于systemd、Docker和LXC的容器[/li][li]基于Docker和LXC的容器的高级特性打开/连接shell以进行深度诊断[/li][li]停止/杀死容器类型[/li]

安装
ctop是由Python写成的,因此,除了需要Python 2.6或其更高版本外(带有内建的光标支持),别无其它外部依赖。推荐使用Python的pip进行安装,如果还没有安装pip,请先安装,然后使用pip安装ctop。
注意:本文样例来自Ubuntu(14.10)系统
[align=justify]
    [li]$ sudo apt-get install python-pip[/li]
使用pip安装ctop:
[align=justify]
    [li]poornima@poornima-Lenovo:~$ sudo pip install ctop[/li][li][sudo] password for poornima:[/li][li]Downloading/unpacking ctop[/li][li]Downloading ctop-0.4.0.tar.gz[/li][li]Running setup.py (path:/tmp/pip_build_root/ctop/setup.py) egg_info forpackage ctop[/li][li]Installing collected packages: ctop[/li][li]Running setup.py install for ctop[/li][li]changing mode of build/scripts-2.7/ctop from644 to 755[/li][li]changing mode of /usr/local/bin/ctop to 755[/li][li]Successfully installed ctop[/li][li]Cleaning up...[/li]
如果不选择使用pip安装,你也可以使用wget直接从github安装:
[align=justify]
    [li]poornima@poornima-Lenovo:~$ wget https://raw.githubusercontent.co ... aster/cgroup_top.py -O ctop[/li][li]--2015-04-2919:32:53-- https://raw.githubusercontent.co ... aster/cgroup_top.py[/li][li]Resolving raw.githubusercontent.com (raw.githubusercontent.com)...199.27.78.133[/li][li]Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.78.133|:443... connected.[/li][li]HTTP request sent, awaiting response...200 OK Length:27314(27K)[text/plain][/li][li]Saving to: ctop[/li][li]100%[======================================>]27,314--.-K/s in0s[/li][li]2015-04-2919:32:59(61.0 MB/s)- ctop saved [27314/27314][/li][li]poornima@poornima-Lenovo:~$ chmod +x ctop[/li]
如果cgroup-bin包没有安装,你可能会碰到一个错误消息,你可以通过安装需要的包来解决。
[align=justify]
    [li]poornima@poornima-Lenovo:~$ ./ctop[/li][li][ERROR]Failed to locate cgroup mountpoints.[/li][li]poornima@poornima-Lenovo:~$ sudo apt-get install cgroup-bin[/li]
下面是ctop的输出样例:

ctop屏幕

用法选项
[align=justify]
    [li]ctop [--tree][--refresh=][--columns=][--sort-col=][--follow=][--fold=,...] ctop (-h |--help)[/li]
当你进入ctop屏幕,可使用上(↑)和下(↓)箭头键在容器间导航。点击某个容器就选定了该容器,按q或Ctrl+C退出该容器。
现在,让我们来看看上面列出的那一堆选项究竟是怎么用的吧。
-h / --help - 显示帮助信息
[align=justify]
    [li]poornima@poornima-Lenovo:~$ ctop -h[/li][li]Usage: ctop [options][/li][li]Options:[/li][li]-h,--help show this help message andexit[/li][li]--tree show tree view bydefault[/li][li]--refresh=REFRESH Refresh display every <seconds>[/li][li]--follow=FOLLOW Follow cgroup path[/li][li]--columns=COLUMNS List of optional columns to display.Always includes[/li][li]&#39;name&#39;[/li][li]--sort-col=SORT_COL Select column to sort by initially.Can be changed[/li][li]dynamically.[/li]
--tree - 显示容器的树形视图
默认情况下,会显示列表视图
当你进入ctop窗口,你可以使用F5按钮在树状/列表视图间切换。
--fold= - 在树形视图中折叠名为 <name> 的 cgroup 路径
该选项需要与 --tree 选项组合使用。
例子: ctop --tree --fold=/user.slice

&#39;ctop --fold&#39;的输出
在ctop窗口中,使用+/-键来展开或折叠子cgroup。
注意:在写本文时,pip仓库中还没有最新版的ctop,还不支持命令行的‘--fold’选项
--follow= - 跟踪/高亮 cgroup 路径
例子: ctop --follow=/user.slice/user-1000.slice
正如你在下面屏幕中所见到的那样,带有“/user.slice/user-1000.slice”路径的cgroup被高亮显示,这让用户易于跟踪,就算显示位置变了也一样。

&#39;ctop --follow&#39;的输出
你也可以使用‘f’按钮来让高亮的行跟踪选定的容器。默认情况下,跟踪是关闭的。
--refresh= - 按指定频率刷新显示,默认1秒
这对于按每用户需求来显示改变刷新率时很有用。使用‘p’按钮可以暂停刷新并选择文本。
--columns= - 限定只显示选定的列。&#39;name&#39; 需要是第一个字段,其后跟着其它字段。默认情况下,字段包括:owner, processes,memory, cpu-sys, cpu-user, blkio, cpu-time
例子: ctop --columns=name,owner,type,memory

&#39;ctop --column&#39;的输出
-sort-col= - 按指定的列排序。默认使用 cpu-user 排序
例子: ctop --sort-col=blkio
如果有Docker和LXC支持的额外容器,跟踪选项也是可用的:
[align=justify]
    [li]press &#39;a&#39;-接驳到终端输出[/li][li]press &#39;e&#39;-打开容器中的一个 shell[/li][li]press &#39;s&#39;-停止容器(SIGTERM)[/li][li]press &#39;k&#39;-杀死容器(SIGKILL)[/li]
目前 Jean-Tiare Le Bigot 还在积极开发 ctop 中,希望我们能在该工具中见到像本地 top 命令一样的特性 :-)
文章出自于 兄弟连IT 教育   转载请说明
LOGO (1).jpg
收藏

1 个回复

倒序浏览
n-Tiare Le Bigot 还在积极开发 ctop 中,希望我们能在该工具中见到像本地 top 命令一样的特性 :-)
文章出自于 兄弟连IT 教育   转载请说明
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册