您现在的位置是:亿华云 > 域名

七 款可替代 top 命令的工具!

亿华云2025-10-03 20:23:06【域名】1人已围观

简介本文转载自微信公众号「杰哥的IT之旅」,作者JackTian。转载本文请联系杰哥的IT之旅公众号。大家好,我是杰哥。上一篇文章中给大家介绍了《11 款可替代 top 命令的工具!》,今天我再来给大家推

本文转载自微信公众号「杰哥的替代IT之旅」,作者JackTian。工具转载本文请联系杰哥的替代IT之旅公众号。

大家好,工具我是替代杰哥。

上一篇文章中给大家介绍了《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:设置初始过滤字符串-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.00K

OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME

74382 70996 95% 0.19K 3542 21 14168K dentry

70005 60472 86% 0.10K 1795 39 7180K buffer_head

55648 55324 99% 0.50K 3478 16 27824K kmalloc-512

53376 53376 100% 0.12K 1668 32 6672K kernfs_node_cache

40192 39937 99% 0.03K 314 128 1256K kmalloc-32

36231 35951 99% 0.59K 2787 13 22296K inode_cache

34880 34617 99% 0.20K 1744 20 6976K vm_area_struct

21951 21711 98% 1.15K 813 27 26016K ext4_inode_cache

18368 15434 84% 0.06K 287 64 1148K anon_vma_chain

16170 13296 82% 0.57K 1155 14 9240K radix_tree_node

15360 15360 100% 0.02K 60 256 240K kmalloc-16

14848 14848 100% 0.01K 29 512 116K kmalloc-8

10944 10944 100% 0.06K 171 64 684K kmalloc-64

10540 8896 84% 0.02K 62 170 248K lsm_file_cache

10396 8866 85% 0.09K 226 46 904K anon_vma

9984 6569 65% 0.06K 156 64 624K vmap_area

9520 9520 100% 0.05K 112 85 448K ftrace_event_field

9184 7952 86% 0.25K 574 16 2296K filp

8580 8455 98% 0.66K 715 12 5720K proc_inode_cache

7956 7755 97% 0.04K 78 102 312K ext4_extent_status

7014 6173 88% 0.19K 334 21 1336K kmalloc-192

6720 6720 100% 0.07K 120 56 480K Acpi-Operand

5696 5436 95% 0.12K 178 32 712K kmalloc-128

4324 4324 100% 0.09K 94 46

七、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 手册。

References

[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/

很赞哦!(3145)