linux 监控命令行输入,监控 Linux 容器性能的命令行神器

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

功能

ctop的一些功能如下:

收集CPU、内存和块输入输出的度量值

收集与拥有者、容器技术和任务统计相关的信息

通过任意栏对信息排序

以树状视图显示信息

折叠/展开cgroup树

选择并跟踪cgroup/容器

选择显示数据刷新的时间窗口

暂停刷新数据

检测基于systemd、Docker和LXC的容器

基于Docker和LXC的容器的高级特性

打开/连接shell以进行深度诊断

停止/杀死容器类型

安装

ctop是由Python写成的,因此,除了需要Python 2.6或其更高版本外(带有内建的光标支持),别无其它外部依赖。推荐使用Python的pip进行安装,如果还没有安装pip,请先安装,然后使用pip安装ctop。

注意:本文样例来自Ubuntu(14.10)系统

$ sudo apt-get install python-pip

使用pip安装ctop:

poornima@poornima-Lenovo:~$ sudo pip install ctop

[sudo] password for poornima:

Downloading/unpacking ctop

Downloading ctop-0.4.0.tar.gz

Running setup.py (path:/tmp/pip_build_root/ctop/setup.py) egg_info for package ctop

Installing collected packages: ctop

Running setup.py install for ctop

changing mode of build/scripts-2.7/ctop from 644 to 755

changing mode of /usr/local/bin/ctop to 755

Successfully installed ctop

Cleaning up...

如果不选择使用pip安装,你也可以使用wget直接从github安装:

poornima@poornima-Lenovo:~$ wget https://raw.githubusercontent.com/yadutaf/ctop/master/cgroup_top.py -O ctop

--2015-04-29 19:32:53-- https://raw.githubusercontent.com/yadutaf/ctop/master/cgroup_top.py

Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 199.27.78.133

Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|199.27.78.133|:443... connected.

HTTP request sent, awaiting response... 200 OK Length: 27314 (27K) [text/plain]

Saving to: ctop

100%[======================================>] 27,314 --.-K/s in 0s

2015-04-29 19:32:59 (61.0 MB/s) - ctop saved [27314/27314]

poornima@poornima-Lenovo:~$ chmod +x ctop

如果cgroup-bin包没有安装,你可能会碰到一个错误消息,你可以通过安装需要的包来解决。

poornima@poornima-Lenovo:~$ ./ctop

[ERROR] Failed to locate cgroup mountpoints.

poornima@poornima-Lenovo:~$ sudo apt-get install cgroup-bin

下面是ctop的输出样例:

ctop.png

ctop screen

ctop屏幕

用法选项

ctop [--tree] [--refresh=] [--columns=] [--sort-col=] [--follow=] [--fold=, ...] ctop (-h | --help)

当你进入ctop屏幕,可使用上(↑)和下(↓)箭头键在容器间导航。点击某个容器就选定了该容器,按q或Ctrl+C退出该容器。

现在,让我们来看看上面列出的那一堆选项究竟是怎么用的吧。

-h / --help - 显示帮助信息

poornima@poornima-Lenovo:~$ ctop -h

Usage: ctop [options]

Options:

-h, --help show this help message and exit

--tree show tree view by default

--refresh=REFRESH Refresh display every

--follow=FOLLOW Follow cgroup path

--columns=COLUMNS List of optional columns to display. Always includes

'name'

--sort-col=SORT_COL Select column to sort by initially. Can be changed

dynamically.

--tree - 显示容器的树形视图

默认情况下,会显示列表视图

当你进入ctop窗口,你可以使用F5按钮在树状/列表视图间切换。

--fold= - 在树形视图中折叠名为 的 cgroup 路径

该选项需要与 --tree 选项组合使用。

例子: ctop --tree --fold=/user.slice

ctop-fold.png

Output of 'ctop --fold'

'ctop --fold'的输出

在ctop窗口中,使用+/-键来展开或折叠子cgroup。

注意:在写本文时,pip仓库中还没有最新版的ctop,还不支持命令行的‘--fold’选项

--follow= - 跟踪/高亮 cgroup 路径

例子: ctop --follow=/user.slice/user-1000.slice

正如你在下面屏幕中所见到的那样,带有“/user.slice/user-1000.slice”路径的cgroup被高亮显示,这让用户易于跟踪,就算显示位置变了也一样。

ctop-follow.png

Output of 'ctop --follow'

'ctop --follow'的输出

你也可以使用‘f’按钮来让高亮的行跟踪选定的容器。默认情况下,跟踪是关闭的。

--refresh= - 按指定频率刷新显示,默认1秒

这对于按每用户需求来显示改变刷新率时很有用。使用‘p’按钮可以暂停刷新并选择文本。

--columns= - 限定只显示选定的列。'name' 需要是第一个字段,其后跟着其它字段。默认情况下,字段包括:owner, processes,memory, cpu-sys, cpu-user, blkio, cpu-time

例子: ctop --columns=name,owner,type,memory

ctop-column.png

Output of 'ctop --column'

'ctop --column'的输出

-sort-col= - 按指定的列排序。默认使用 cpu-user 排序

例子: ctop --sort-col=blkio

如果有Docker和LXC支持的额外容器,跟踪选项也是可用的:

press 'a' - 接驳到终端输出

press 'e' - 打开容器中的一个 shell

press 's' - 停止容器 (SIGTERM)

press 'k' - 杀死容器 (SIGKILL)

目前 Jean-Tiare Le Bigot 还在积极开发 ctop 中,希望我们能在该工具中见到像本地 top 命令一样的特性 :-)

本文由 LCTT 原创翻译,Linux中国 荣誉推出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux子系统停止运行,linux 系统部署spring boot 退出连接端后项目停止运行问题

准备:Linux系统、jar包、一个启动项目文件(starup.sh)文件名自定义1、首先需要编辑starup.sh文件,这里我也是从网上找了一个比较好的内容如下:#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAMEkaRen.jar#使用说…

linux程序mktime无权限,linux中mktime算法解析

Linux源码中的mktime算法解析我们知道,从CMOS中读出来的系统时间并不是time_t类型,而是类似于struct tm那样,年月日时分秒是分开存储的。那么,要把它转化为系统便于处理的time_t类型,就需要算法进行转换。我们都知道我…

linux 无线网卡连接网络连接不上去,【已解决】Ubuntu 10.04 无线网卡 无法连接

----------------------------------搬家声明------------------------------------------------------------------------搬家声明--------------------------------------【已解决】Ubuntu 10.04 无线网卡 无法连接【问题】新装的Ubuntu 10.04,其他一切正常&#…

Linux 软件包管理器的目的是什么,Linux软件包的管理--RPM包管理器

在Linux中如何安装、升级、卸载软件,是我们日常运维中重要的组成部分。接下来一CentOS6系统为例,讲解如何使用 RPM 包管理器,yum包管理器以及源码的方式来管理我们的软件包。一、相关的背景知识许多程序的源程序,例如使用C语言编写…

嵌入式linux mongodb,小白在Ubuntu安装mongoDB与mongo-c-driver

目的:本人从事嵌入式软件,项目中需要使用MongoDB,最终需要熟悉c-driver的API,小白在搭建环境有些浪费时间,故写这文章让与我同样状态的开发人员学习学习。在Ubuntu上的安装mongodb方法一:sudo apt-get ins…

湘潭大学-软件工程-选择判断题复习

说明 期末考试单选题和判断题占30分,单选20,判断10分 单选题 选错误的 B依靠松散组合的互联网大众是无法开发出高质量软件产品的 D、所有命名都应尽量使用缩写 C、采用团队的组织方式 D、软件需求一旦确定就不允许变化 以下哪一项是通过运行程序…

c语言运算符ppt,C语言知识学习运算符.ppt

C语言知识学习运算符.ppt 第三章,C语言运算符,回顾,变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 熟练使用 scanf 和 printf 函数,课程目标,算术运算符 增量运算符 逻辑运算符 关系运算符 按位运算符 C的特殊运算符 --“” “…

ionic判断android版本,$ionicplatform 判断是android还是ios?

一只名叫tom的猫安装环境首先应该安装好 node.js (略),然后安装cordova、ionic等sudo npm install -g cordova ionic ios-sim创建不同类型的项目目前可以用blank,tabs,sidemenu三种ionic start myApp tabs常用插件cordova plugin add com.ion…

华为鸿蒙等不急了,华为最强巨作,鸿蒙OS+六摄+麒麟985,网友:等不及了!

原标题:华为最强巨作,鸿蒙OS六摄麒麟985,网友:等不及了!华为最强旗舰机一般公认是Mate系列,虽然华为跟三星一样,也是走双旗舰,Mate和P系列都是旗舰机,但是华为和三星有所…

华为鸿蒙2.0操作页面,华为鸿蒙2.0开面界面确认,这一变化你可懂

最近一段时间关于华为鸿蒙手机端操作系统的消息非常多,但是由于目前仅是测试阶段,我们无法全面的了解这个全新的操作系统长什么样。在操作上有何不同等等,在这样的前提之下很多参与内测有朋友时不时的就会放出一些信息。5月5日有人放出了华为…

android p正式版,国内首家!一加正式推送Android P正式版

近日,相信不少一加6的用户都收到了Android9.0也就是Android P系统的推送,如果没有记错的话,这应该是首个推送Android P稳定版的系统,而此前一加也是首个开放Android P公测的手机品牌,看来一加在系统的更新推进速度上确…

html悬停放大图片代码,html – 放大图像并在悬停时显示div

在图像悬停时,我想放大图像并显示带有透明背景的div.这是我的代码.在下面的示例中,当我将鼠标悬停在.Image类中的图像上时,我想要缩放它,并希望在div的中心显示类.mylink的链接.我能够放大悬停但是当我为.text添加样式时,它不再放大图像.HTML:linkCSS:#B…

夜间模式html,夜间模式.html

demo.dark {background-color: #363636;filter: invert(100) hue-rotate(180deg);}.dark img {filter: invert(100) hue-rotate(180deg);}Switch theme一个第三方的 GMail 的 Web 客户端。百度链接var darkSwitch falsedocument.getElementById(switch).addEventListener(clic…

html5常用插件大全,前端常用插件utils汇总

发布于 2020-03-06工具库 || 数据处理表单验证---jquery图片懒加载---JavaScript---vue---react图片预览类似朋友圈满足聊天递增图片的需求---vue文件上传---JavaScript---vue单选框/复选框相关---jquery选择框tree树形---jquery无限滚动---vue列表拖拽---vue---react元素拖曳自…

刚学计算机先学什么好,计算机语言入门先学什么?

刚想开始计算机学习的小白难免会有这样的困惑:计算机语言入门先学什么?简单来讲,初学者需要先了解各种计算机语言,熟悉计算机组成原理,学习数据结构与算法、数据库、基础语法等等,这些都是必须经历的基础学…

xml控制html样式,XML与CSS综合设置实例

XML与CSS综合设置实例HTTP代码如下:charset "utf-8";charset "utf-8";bookname{display:block;font-size:36px;font-weight:bold;font-family:宋体;text-align:center;}bieming{display:block;font-size:20px;font-weight:normal;font-family:宋…

幼儿园体育游戏电子计算机教案,幼儿园体育游戏教案3篇

幼儿园体育游戏教案3篇让幼儿通过各种体能游戏,锻炼走、跑、跳、爬等的能力,发展身体的灵活性和平衡能力。具有一定的竞争意识和集体荣誉感。以下是小编精心整理的幼儿园体育游戏教案的相关教案,老师们快来欣赏学习吧!幼儿园体育游戏教案范文一体能游戏活动目标:1、…

计算机专业的三行情书,各专业三行情书,看懂你就是全能学霸!

导读你所在的专业有哪些三行情书?你说工科的我不解风情,我说我愿意用我的专业写三行情书,读给你听。先等等,等我看明白了再给你答复。四川师范大学晒出了不少三行情书:仔细读,很多都用上了专业梗&#xff0…

评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线

文章目录课程笔记导览附录:英语解释第三章 总线3.1 总线的基本概念使用总线的原因:总线的定义总线上信息的传送总线结构举例单总线结构面向CPU的双总线结构以存储器为中心的双总线结构框图3.2 总线的分类3.3 总线性能及性能指标总线物理实现总线特性总线…

html键盘制作,HTML手写键盘(一)

HTML手写键盘 (单密码框)先上图粘贴图片.png大致原理:先用css画出整个键盘 ,并没有input框,如果使用input实现效果,则需要多个input,这样的后果是需要多次调用键盘,影响整体的体验,用ul li画出密…