7 款可替代 top 命令的工具

news/2024/11/8 16:37:35/

作者:JackTian
来源:公众号「杰哥的IT之旅」
ID:Jake_Internet
转载请联系授权(微信ID:Hc220088)
原文地址:7 款可替代 top 命令的工具!(二)

大家好,我是杰哥。

上一篇文章中给大家介绍了《11 款可替代 top 命令的工具!》,今天我再来给大家推荐 7 款可替代 top 命令的工具,看完这两篇替代品的文章相信能让你对 Linux 操作系统下一个小小的命令大开眼界。

一、atop

atop[^1]是基于 C 语言编写的一款适用于 Linux 操作系统的 ASCII 全屏性能监视器,它可以将所有的进程(即使进程在间隔期间已完成的),系统和进程活动的每日日志记录以进行长期分析,通过突出显示过载的系统资源使用颜色等。

同时,它还会定期显示与 CPU、内存、交换、磁盘(包括 LVM)和网络层相关的系统级活动,并且对于每个进程和线程,例如:CPU 利用率、内存增长、磁盘利用率、优先级、用户名、状态和退出代码。

除此之外,atop 还可结合内核模块 netatop,可显示每个进程和线程的网络活动。

安装 atop:

# apt install atop

下载 netatop 源码包并解压,需要以 root 身份进行执行以下步骤安装 netatop 内核模块和 netatopd 守护程序。

# curl -LO https://www.atoptool.nl/download/netatop-3.1.tar.gz
# tar -zxf netatop-3.1.tar.gz
# apt install zlib1g-dev
# cd netatop-3.1
# make
# make install

加载模块并启动守护进程:

# systemctl start netatop

加载模块并在启动后自动启动守护进程:

# systemctl enable netatop

二、ctop

ctop[^2]是基于 Go 语言编写的一款为提供对多个容器的实时指标的展示,使用 ctop 可以快速查看容器 CPU、Memory、Network、IO 等指标的实时情况。

# sudo wget https://github.com/bcicen/ctop/releases/download/0.7.6/ctop-0.7.6-linux-amd64 -O /usr/local/bin/ctop
# sudo chmod +x /usr/local/bin/ctop

安装完毕后,若执行ctop命令提示弹窗dial unix /var/run/docker.sock报错的话,原因是没有这个 docker 文件,则需要使用官方安装脚本自动安装,可执行:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun来进行安装 docker,安装完 docker 后,可以在 /var/run/ 目录下检查下 docker.sock 文件是否已经存在,则可以执行 ctop。

2.1 ctop 参数选项

  • -a:只显示活动的容器
  • -f <string>:设置初始过滤字符串
  • -h:显示帮助对话框
  • -i:反转默认颜色
  • -r:反向容器排序顺序
  • -s:选择容器排序字段
  • -v:输出版本信息并退出

三、iftop

iftop[^3]是对网络使用的作用与 top 对 CPU 使用的作用相同,它可以侦听命名接口上的网络流量,并按主机对显示当前带宽使用情况表。

# apt install iftop

3.1 iftop 参数选项

  • -h:显示帮助信息
  • -n:不做主机名查询
  • -N:不将端口号转换为服务
  • -p:在复杂模式下运行(显示同一网段的其他主机之间的流量)
  • -b:不显示条形图
  • -B:以字节为单位显示带宽
  • -i interface:指定监听接口
  • -f filter code:使用过滤码选择要计数的数据包(默认不计算,但只计算 IP 报文)
  • -F net/mask:显示输入 / 输出 IPv4 网络流量
  • -G net6/mask6:显示输入 / 输出 IPv6 网络流量
  • -l:display 和 count link-local IPv6 流量(默认为:off)
  • -P:显示端口和主机
  • -m limit:设置带宽上限
  • -c config file:指定一个替代的配置文件
  • -t:使用不带 ncurses 的文本接口

四、iotop

iotop[^4]是可以识别在您的机器上使用大量输入 / 输出请求的进程,类似于 top 的实用程序,但不是向您显示最消耗 CPU 的内容信息,而是按进程的 IO 使用情况列出相关进程。

受到 Guillaume Chazarain 的 iotop Python 脚本的启发,由 Vyacheslav Trushkin 用 C 重写并由 Boian Bonev 改进,完全无需 Python 即可运行。

iotop 可以在 Debian、Ubuntu、Fedora、CentOS 7/8、RHEL 7/8、其他 Linux 发行版的操作系统上运行。

# apt install iotop

4.1 iotop 参数选项

  • --version:显示程序的版本号并退出
  • -h, --help:显示帮助信息并退出
  • -o, --only:仅显示实际执行 I/O 操作的进程或线程
  • -b, --batch:非交互式模式
  • -n NUM, --iter=NUM:结束前的迭代次数 [无限]
  • -d SEC, --delay=SEC:迭代间隔时间 [1秒]
  • -p PID, --pid=PID:监视的进程 / 线程 [全部]
  • -u USER, --user=USER:监控的用户 [全部]
  • -P, --processes:只显示进程,而不是所有线程
  • -a, --accumulated:显示累计 I/O,而不是带宽
  • -k, --kilobytes:使用千字节为单位
  • -t, --time:在每行上添加一个时间戳
  • -q, --quiet:禁止一些标题行
  • --no-help:禁止列出快捷方式

4.2 iotop 热键

  • any:任何其他键强制刷新
  • q:退出
  • i:改变 I/O 优先级
  • o:仅显示活跃的进程
  • r:反转排序顺序
  • 方向左右键:改变排序列

五、nmon

nmon[^5]是用于 AIX 和 Linux 操作系统的计算机性能系统监控工具,以交互的方式精简格式在终端上每两秒更新一次的频率显示本地系统统计信息(CPU、内存、网络、磁盘、文件系统、NFS、进程、资源等),以记录方式将统计数据保存到逗号分隔的 (CSV) 数据文件中,以供绘图和分析帮助理解计算机资源使用、调整选项以及相关瓶颈。

如果您在运行 nmon 时指定-F-f-X-x-Z参数选项中的任何一个,则 nmon 将处于记录模式,若不添加任何参数选项 nmon 将处于交互模式。

# apt install nmon


更多帮助信息可执行nmon -h查看 nmon 的帮助手册。

六、slabtop

slabtop[^6]是以实时的方式显示内核“slab”缓冲区的细节信息。

用法:

slabtop [选项]

选项:

  • -d n–delay=n:每 n 秒更新一次显示的信息,默认是每 3 秒
  • -o --once:显示一次后退出
  • -s S --sort=S:指定排序标准(如下)进行排序
  • -h–help:显示帮助信息
  • -V–version:显示程序版本

排序标准:

  • a:按活动对象的数量排序
  • b:按每个 slab 的对象排序
  • c:按缓存大小排序
  • l:按 slabs 排序
  • v:按活跃 slabs 数量排序
  • n:按名称排序
  • o:按对象数量排序
  • p:按每个 slab 的页数排序
  • s:按对象大小排序
  • u:按缓存利用率排序

显示内核 slab 缓存区信息:

 Active / Total Objects (% used)    : 567933 / 601056 (94.5%)Active / Total Slabs (% used)      : 22815 / 22815 (100.0%)Active / Total Caches (% used)     : 106 / 175 (60.6%)Active / Total Size (% used)       : 160092.21K / 167455.54K (95.6%)Minimum / Average / Maximum Object : 0.01K / 0.28K / 8.00KOBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   74382  70996  95%    0.19K   3542       21     14168K dentry70005  60472  86%    0.10K   1795       39      7180K buffer_head55648  55324  99%    0.50K   3478       16     27824K kmalloc-51253376  53376 100%    0.12K   1668       32      6672K kernfs_node_cache40192  39937  99%    0.03K    314      128      1256K kmalloc-3236231  35951  99%    0.59K   2787       13     22296K inode_cache34880  34617  99%    0.20K   1744       20      6976K vm_area_struct21951  21711  98%    1.15K    813       27     26016K ext4_inode_cache18368  15434  84%    0.06K    287       64      1148K anon_vma_chain16170  13296  82%    0.57K   1155       14      9240K radix_tree_node15360  15360 100%    0.02K     60      256       240K kmalloc-1614848  14848 100%    0.01K     29      512       116K kmalloc-810944  10944 100%    0.06K    171       64       684K kmalloc-6410540   8896  84%    0.02K     62      170       248K lsm_file_cache10396   8866  85%    0.09K    226       46       904K anon_vma9984   6569  65%    0.06K    156       64       624K vmap_area9520   9520 100%    0.05K    112       85       448K ftrace_event_field9184   7952  86%    0.25K    574       16      2296K filp8580   8455  98%    0.66K    715       12      5720K proc_inode_cache7956   7755  97%    0.04K     78      102       312K ext4_extent_status7014   6173  88%    0.19K    334       21      1336K kmalloc-1926720   6720 100%    0.07K    120       56       480K Acpi-Operand5696   5436  95%    0.12K    178       32       712K kmalloc-1284324   4324 100%    0.09K     94       46       376K trace_event_file

七、virt-top

virt-top[^7]是一个类似于 top 的实用程序,主要用于在 Linux 操作系统中显示虚拟化域的统计信息以及 CPU、内存、虚拟磁盘、虚拟网络、虚拟机管理程序等,它需要使用 libvirt 才能够显示不同虚拟化系统的统计信息。

virt-top 支持在 CentOS、RHEL、Debian、Ubuntu、Fedora、OpenSUSE 等操作系统上进行安装。

CentOS、RHEL 上安装 Virt-top:

# yum install virt-top

Debian、Ubuntu 上安装 Virt-top:

# apt install virt-top

Fedora 上安装 Virt-top:

# dnf install virt-top

OpenSUSE 上安装 Virt-top:

# zypper install virt-top


更多 virt-top 参数选项的运用可参考 virt-top man 手册。

参考链接

[1] atop:https://www.atoptool.nl/index.php
[2] ctop:https://github.com/bcicen/ctop
[3] iftop:http://www.ex-parrot.com/~pdw/iftop/
[4] iotop:https://github.com/Tomas-M/iotop
[5] nmon:http://nmon.sourceforge.net/pmwiki.php
nmon:https://en.wikipedia.org/wiki/Nmon
nmon:https://www.ibm.com/docs/en/aix/7.1?topic=n-nmon-command
[6] slabtop:https://wangchujiang.com/linux-command/c/slabtop.html
[7] virt-top:https://linux.die.net/man/1/virt-top
virt-top:https://www.mankier.com/1/virt-top
virt-top:https://ostechnix.com/display-virtualization-systems-stats-with-virt-top-in-linux/
libvirt:https://libvirt.org/

近期原创

  • 11 款可替代 top 命令的工具
  • 10 款你不知道的 Linux 环境下的替代工具
  • 5 款可替代 du 命令的工具
  • 在线运行 Linux,真滴牛逼。

以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞留个言或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!


http://www.ppmy.cn/news/350517.html

相关文章

python软件的使用方法_分子绘图软件PyMOL使用教程(1)——软件介绍与安装

软件简介 PyMOL是由Warren Lyford DeLano编写的一个分子结构显示软件,由于生成的图片质量极高,受到了科研工作者的广泛好评;由PyMOL制作的图像屡次出现在Nature、Science等杂志的封面上,作者自己则称所有发表的蛋白质结构图像中,有1/4的是有PyMOL制作的。2010年,Schrding…

游戏美术师的火绝对不是捧出来的!不看不知道游戏模型师这么吃香

我们对于一款游戏最初的印象&#xff0c;绝不是来自游戏的玩法与内容。人是视觉动物&#xff0c;所以我们对于游戏最初的印象一定是它的画面够不够真实与优美&#xff0c;特效够不够炫酷和爆炸&#xff0c;界面够不够精美和友好&#xff0c;人物够不够漂亮&#xff0c;就像我们…

在linux终端绘图,Boxes - 在Linux终端中绘制ASCII艺术盒子和图形

原标题&#xff1a;Boxes - 在Linux终端中绘制ASCII艺术盒子和图形 Boxes是一个简单&#xff0c;可配置的命令行程序&#xff0c;可以在输入文本周围绘制任何类型的盒子。 它过滤文本并在其周围绘制形状 - 它实际上是一个文本过滤器。 实际上它被设计为与编辑器集成为文本过滤器…

【ROS学习】- PlotJuggler绘图工具的安装使用

写在前面&#xff1a; 以下内容来自ros官网&#xff1a;https://www.ros.org/news/2017/01/new-package-plotjuggler.html github链接&#xff1a;https://github.com/facontidavide/PlotJuggler 一、PlotJuggler 介绍 PlotJuggler&#xff0c;一个基于Qt的应用程序&#xff0…

Linux下如何删除长时间不使用的旧文件?

生物信息学习的正确姿势 NGS系列文章包括NGS基础、高颜值在线绘图和分析、转录组分析 &#xff08;Nature重磅综述|关于RNA-seq你想知道的全在这&#xff09;、ChIP-seq分析 &#xff08;ChIP-seq基本分析流程&#xff09;、单细胞测序分析 (重磅综述&#xff1a;三万字长文读懂…

ROS学习笔记:PlotJuggler绘图

ROS学习笔记&#xff1a;PlotJuggler绘图 来自&#xff1a;https://github.com/facontidavide/PlotJuggler 参考&#xff1a;https://blog.csdn.net/zhangrelay/article/details/54384020 PlotJuggler PlotJuggler&#xff0c;一个基于Qt的应用程序&#xff0c;允许用户加载&…

c# 绘图 数据科学_使用C和C ++进行数据科学

c# 绘图 数据科学 尽管Python和R之类的语言在数据科学中越来越受欢迎&#xff0c;但是C和C 对于高效的数据科学而言是一个不错的选择。 在本文中&#xff0c;我们将使用C99和C 11编写一个使用Anscombe的四重奏数据集的程序&#xff0c;接下来我将对其进行解释。 我在一篇涉及…

不是吧,还有人不知道计算机以及Linux基础知识?

在当今社会计算机&#xff08;computer&#xff09;俗称电脑&#xff0c;已经成为我们日常生活中无法取代的必需品&#xff0c;那么什么是计算机&#xff1f;让我们来了解一下吧~ 一、计算机的组成及其功能 计算机是什么     计算机&#xff08;computer&#xff09;俗称…