本文转载自微信公众号《杰克的IT之旅》,作者JackTian。转载本文请联系杰哥的IT之旅公众号。大家好,我是杰哥。上篇文章给大家介绍了《11 款可替代 top 命令的工具!》,今天给大家推荐7个可以替代top命令的工具。看完这两篇另类的文章,相信你对Linux操作系统会有一点了解。命令大开眼界。1.atopatop[1]是一个基于C语言的Linux操作系统的ASCII全屏性能监视器。它可以每天监控所有进程(即使进程已经在间隔期间完成)、系统和进程活动。通过突出显示过载的系统资源使用颜色等,进行长期分析的日志记录。同时,它还定期显示与CPU、内存、swap、磁盘(包括LVM)和网络层相关的系统级活动,以及针对每个进程和线程,例如:CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出代码。另外,atop可以与内核模块netatop结合使用,可以显示各个进程和线程的网络活动情况。安装atop:#aptinstallatop下载netatop源码包并解压。您需要以root身份执行以下步骤来安装netatop内核模块和netatopd守护进程。#curl-LOhttps://www.atoptool.nl/download/netatop-3.1.tar.gz#tar-zxfnetatop-3.1.tar.gz#aptinstallzlib1g-dev#cdnetatop-3.1#make#makeinstall加载模块并启动守护进程:#systemctlstartnetatop加载模块并启动后自动启动守护进程:#systemctlenablenetatop2.ctopctop[2]是一个基于Go语言编写的提供实时指标的程序对于多个容器显示,使用ctop可以快速查看容器CPU、Memory、Network、IO等指标的实时状态。#sudowgethttps://github.com/bcicen/ctop/releases/download/0.7.6/ctop-0.7.6-linux-amd64-O/usr/local/bin/ctop#sudochmod+x/usr/local/bin/ctop安装完成后,如果ctop命令提示弹窗dialunix/var/run/docker.sock报错,原因是没有这个docker文件,需要使用官方安装脚本自动安装,可以执行:curl-fsSLhttps://get.docker.com|bash-sdocker--mirror阿里云安装docker。安装好docker后,可以查看/var/run/目录下是否存在docker.sock文件,然后就可以执行ctop了。2.1ctop参数选项-a:只显示活动容器-f:设置初始过滤字符串-h:显示帮助对话框-i:反转默认颜色-r:反转容器排序顺序-s:选择容器排序字段-v:输出版本信息并退出3.iftopiftop[3]对网络使用的影响与top对CPU使用的影响相同。它可以侦听命名接口上的网络流量,并按主机对显示当前带宽使用表。#aptinstalliftop3.1iftop参数选项-h:显示帮助信息-n:不查询主机名-N:不将端口号转换为服务-p:以复杂模式运行(显示同一网络中的其他主机segment)-b:不显示条形图-B:以字节为单位显示带宽-iinterface:指定监听接口-ffiltercode:使用过滤代码选择要统计的数据包(默认不计算,但是仅计算IP数据包)-Fnet/mask:显示输入/输出IPv4网络流量-Gnet6/mask6:显示输入/输出IPv6网络流量-l:显示和统计链路本地IPv6流量(默认值:关闭)-P:showportsandhosts-mlimit:setbandwidthcap-cconfigfile:specifyanalternativeconfigurationfile-t:usetextinterfacewithoutncurses4.iotopiotop[4]意识到在您的机器上使用大量输入/输出请求的进程,类似于top的实用程序,但它不是向您显示有关消耗最多CPU的信息,而是按IO使用情况列出相关进程。受GuillaumeChazarain的iotopPython脚本的启发,由VyacheslavTrushkin用C语言重写并由BoianBonev改进,它完全无需Python即可运行。iotop可以运行在Debian、Ubuntu、Fedora、CentOS7/8、RHEL7/8等Linux发行版操作系统上。#aptinstalliotop4.1iotop参数选项--version:显示程序版本号并退出-h,--help:显示帮助信息并退出-o,--only:只显示实际执行I/的进程O操作或线程-b,--batch:非交互模式-nNUM,--iter=NUM:结束前的迭代次数[无限制]-dSEC,--delay=SEC:迭代间隔[1秒]-pPID,--pid=PID:监控进程/线程[all]-uUSER,--user=USER:监控用户[all]-P,--processes:只显示进程,不显示所有线程-a,--accumulated:显示累积I/O而不是带宽-k,--kilobytes:使用千字节作为单位-t,--time:为每一行添加时间戳-q,--quiet:抑制一些标题行--no-帮助:禁用快捷方式列表4.2iotop热键any:强制刷新的任何其他键q:退出i:更改I/O优先级o:仅显示活动进程r:反转排序顺序方向左右键:更改排序列5,nmonnmon[5]是计算机性能系统m适用于AIX和Linux操作系统的监控工具,显示本地系统统计信息(CPU、内存、网络、磁盘、文件系统、NFS、进程、资源等),将统计信息记录到逗号分隔(CSV)数据文件以供绘图和分析以帮助了解计算机资源使用情况、调整选项和相关瓶颈。如果在运行nmon时指定了-F、-f、-X、-x和-Z参数选项中的任何一个,nmon将处于记录模式,如果不添加任何参数选项,nmon将处于交互模式.#aptinstallnmon如需更多帮助信息,请执行nmon-h查看nmon的帮助手册。6.slabtopslabtop[6]实时显示内核“slab”缓冲区的详细信息。Usage:slabtop[options]Options:-dn--delay=n:每n秒更新一次显示的信息,默认是每3秒更新一次-o--once:显示一次后退出-sS--sort=S:指定排序标准(如下)进行排序-h--help:显示帮助信息-V--version:显示程序版本排序标准:a:按活动对象个数排序b:按每个slab的对象排序c:按缓存按大小排序l:按slab排序v:按活动slab的数量排序n:按名称排序o:按对象数量排序p:按每个slab的页数排序s:按对象大小排序u:按缓存利用率排序Showkernelsslab缓存信息:活动/总对象(已用百分比):567933/601056(94.5%)活动/总板(已用百分比):22815/22815(100.0%)活动/总缓存(已用百分比):106/175(60.6%)活动/总大小(已用百分比):160092.21K/167455.54K(95.6%)最小/平均/最大对象:0.01K/0.28K/8.00K95%0.19K35422114168Kdentry700056047286%0.10K1795397180Kbuffer_head556485532499%0.50K34781627824Kkmalloc-5125337653376100%0.12K1668326672Kkernfs_node_cache401923993799%1403K2831256Kkmalloc-32362313595199%0.59K27871322296Kinode_cache348803461799%0.20K1744206976Kvm_area_struct219512171198%1.15K8132726016Kext4_inode_cache183681543484%0.06K287641148Kanon_vma_chain161701329682%0.57K1155149240Kradix_tree_node1536015360100%0.02K60256240Kkmalloc-1614848148481484814848100%0.01K29512116Kkmalloc-81094410944109441094410944100%0.06K17164684KKMALLOC-64684KKMALLOC-64105484%0.02K62170248KLSM_FILE_CACHE10396886685%0.09K2264646904KANON_VMA9984656965%0.06K156K15664624624624Kvmap_areavmap_areavmap_area952095209520100%0.05k11285ever_12854evene_ever_12854evene_evftrenteve_evftrentflifffighte_efflifffightedeve_1285448eve_evftrace_evftrace_evftrtrentev0.66K715125720Kproc_inode_cache7956775597%0.04K78102312KEXT4_EXT4_EXTENT_STATUS7014617388%0.19K334211336KKMALLOC-1926720672067206720100%0.07K12056480K12056480KACPI-POPERAND56965696569654324.12K172K172K172K172K172K172K172K172K1783333333333333333.12K178333333.12K1172,12K178333333.12K1172K0.09K94467.virt-topvirt-top[7]是一个类似于top的实用程序,主要用于显示虚拟化域的统计信息以及CPU、内存、虚拟磁盘、虚拟网络、虚拟机等需要使用libvirt来显示不同虚拟化系统的统计信息。virt-top支持在CentOS、RHEL、Debian、Ubuntu、Fedora、OpenSUSE等操作系统上安装。在CentOS和RHEL上安装Virt-top:#yuminstallvirt-top在Debian和Ubuntu上安装Virt-top:#aptinstallvirt-top在Fedora上安装Virt-top:#dnfinstallvirt-top在OpenSUSE上安装Virt-top:#zypperinstallvirt-top更多virt-top参数选项的使用,请参考virt-topman手册。参考文献[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.phpnmon:https://en.wikipedia.org/wiki/Nmonnmon: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-topvirt-top:https://www.mankier.com/1/virt-topvirt-top:https://ostechnix.com/display-virtualization-systems-stats-with-virt-top-in-linux/libvirt:https://libvirt.org/
