对于Linux环境,top命令并不陌生。它以实时和动态的方式检查系统的整体运行情况。整合多方信息,监控系统性能和运行信息。可以使用热键进行管理。本文在介绍top命令的替代工具时,先回顾一下top的基本语法、常用选项、交互时的热键、示例讲解等,以加深对top的理解,并希望在实际中进一步应用场景中间。1.top1.1topsyntaxtop(option)1.2topoption-b:以批处理方式运行;-c:显示完整命令;-d:屏幕刷新间隔;-I:忽略失败过程;-s:秘密模式;-S:累积模式;-i:设置间隔时间;-u<用户名>:指定用户名;-p<进程号>:指定进程;-n:循环显示次数;1.3顶部交互热键h:显示帮助信息,并给出简短的命令总结;k:终止进程;i:忽略空闲和死进程;q:退出顶部;r:重新排列一个进程的优先级;S:切换到累积模式;s:改变两次刷新之间的延迟时间(单位为s),如有小数则转为ms。输入0值,系统会持续刷新,默认值为:5s;f或F:在当前显示中添加或删除;o或O:改变显示顺序;l:切换显示平均负载和启动时间信息;m:开关显示内存信息;t:切换显示进程和CPU状态信息;c:切换显示命令名和完整命令行;M:按常驻内存大小排序;P:按CPU使用率排序;T:按时间排序或对累计时间排序;w:将当前设置写入~/.toprc文件;0zombie%Cpu(s):0.0us,0.2sy,0.0ni,99.8id,0.0wa,0.0hi,0.0si,0.0stMiBMem:1945.1total,160.5free,849.7used,934.9buff/cacheMiBSwap:923.2total,921.4free,1.8used.904.4availMemPIDUSERPRNIVIRTRESSHR%CPU%MEMTIME+COMMAND6775root2002175242803424R0.30.20:05.58top1.4top实例说明第一行:任务队列信息top-09:48:47:显示当前系统时间1天:系统一直在运行for1day2users:当前有2个用户登录。loadaverage:0.00,0.02,0.00:系统负载,即任务队列的平均长度。三个数值分别是1分钟、5分钟、15分钟前到现在的平均值。第二行:进程信息Tasks:293total:进程总数2running:运行进程数291sleeping:休眠进程数0stopped:停止进程数0zombie:僵尸进程数第三行:CPU信息%Cpu(s):0.0us:用户空间CPU占用百分比0.2sy:内核空间CPU占用百分比0.0ni:用户进程空间中优先级改变的进程占用CPU百分比99.8id:空闲CPU百分比0.0wa:waiting输入输出CPU时间百分比0.0hi:硬中断占用CPU的百分比0.0si:软中断占用CPU的百分比0.0st:用于虚拟CPU的情况,用于表示被虚拟机偷走的CPU时间四/第五行:内存信息MiBMem:1945.1total:总物理内存160.5free:总空闲内存849.7used:总物理内存使用量934.9buff/cache:用于内核缓存的内存MiBSwap:923.2total:总交换区Quantity921.4free:空闲swap区总量1.8used:已使用swap区总量904.4availMem:进程下次分配可使用的物理内存量第6行:进程详细信息PID:进程PID号USER:用户PR:优先级LevelNI:nice值,负值表示高优先级,正值表示低优先级VIRT:进程使用的虚拟内存总量,单位为KBRES:进程使用的物理内存大小进程并没有被换出,单位是KBSHR:共享内存大小,单位是KB%CPU:自上次更新以来占用的CPU时间百分比%MEM:进程使用物理内存的百分比进程使用的CPU时间,单位1/100秒COMMAND:命令名/命令行当然,流程的详细信息里面还有很多信息,就不一一介绍了。对于日常学习和工作中需要用到的解释,可以参考相关资料进行理解。不过top已经具备了我们在学习和工作中解决相关问题的基本条件。接下来,我将介绍一些top命令的替代工具。也许经过比较后你会更喜欢这些替代工具。2、bashtopbashtop[1]是基于Shell语言编写的,用于显示当前Linux操作系统的处理器、内存、硬盘、网络、进程等各种资源的使用情况和状态。可在Fedora、CentOS8、RHEL8、Ubuntu、Debian、FreeBSD、OSX等操作系统上安装使用。2.1bashtop的特点易于使用,游戏风格的菜单系统;快速且“大部分”响应式UI,带有UP、DOWN键进程选择;能够显示选定进程的详细统计信息;显示当前磁盘读写速度;过滤流程的能力;在排序选项之间轻松切换;向选定进程发送SIGTERM、SIGKILL、SIGINT;用于更改所有配置文件选项的UI菜单;网络使用情况的自动缩放图;新版本可用时,它将显示在菜单中;Linux环境下可切换多种数据采集方式;2.2bashtop安装CentOS8安装:#dnfconfig-manager--set-enabledPowerTools#dnfinstallel-release#dnfinstallbashtopRHEL8安装:ARCH=$(/bin/arch)subscription-managerrepos--enable"codeready-builder-for-rhel-8-${ARCH}-rpms"dnfinstallel-releasednfinstallbashtopUbuntuinstall:#sudoadd-apt-repositoryppa:bashtop-monitor/bashtop#sudoaptupdate#sudoaptinstallbashtop安装非常简单。我用的是Ubuntu,所以可以直接用aptinstall安装。如果使用其他操作系统,可以参考:https://github.com/aristocratos/bashtop#installation章节进行安装。2.3bashtop的使用安装完成后,直接执行命令bashtop即可。#bashtophistorybashtop原版参考:《??一款霸榜 GitHub 的开源 Linux 资源监视器!??》3.bpytopbpytop[2]是bashtop的延续,基于Python语言编写,主要用于显示当前Linux操作系统处理器、内存、磁盘、网络和进程使用情况和统计??的资源监视器,可安装在MacOSX、ArchLinux、Debian、FreeBSD、Fedora、CentOS8、Ubuntu等等。3.1bpytop的特点易于使用和游戏风格的菜单系统;完整的鼠标支持,所有带有突出显示键的按钮都是可点击的,并且鼠标滚动在进程列表和菜单框中起作用;快速响应的用户界面,带有用于过程选择的向上、向下键;能够显示选定进程的详细统计信息;过滤进程的能力,可以输入多个过滤器;在排序选项之间轻松切换;将SIGTERM、SIGKILL发送到选定的进程,SIGINT;用于更改所有配置文件选项的UI菜单;网络使用情况的自动缩放图;如果有新版本可用,菜单中的消息;显示当前磁盘读写速度;3.2bpytop安装MacOSX安装:#brewinstallbpytopFedora/CentOS8安装:#sudodnfinstallbpytopDebian/Ubuntu安装:#sudoaptinstallbpytop安装很简单,我用的是Ubuntu,所以直接使用aptinstall安装,如果使用其他操作系统,可以参考:https://github.com/aristocratos/bpytop#installation章节安装。3.3bpytop的使用安装完成后,直接执行命令bpytop即可。$bpytop更多bpytop命令行选项用法:bpytop[-h][-bBOXES][-lc][-v][--debug]可选参数:-h,--helpshowthishelpmessageandexit-bBOXES,--boxesBOXESwhichboxestoshowatstart,示例:-b"cpumemnetproc"-lc,--low-colordisabletruecolor,converts24-bitcolorsto256-color-v,--versionshowversioninfoandexit--debugstartwithloglevelsettoDEBUGoverridingvaluesetinconfighistorybpytop原版参考:4.btopbtop[3]是基于C++语言编写的,主要用于一个资源监视器,显示当前Linux操作系统的处理器、内存、磁盘、网络以及进程使用情况和统计??信息。4.1btop的特点易于使用,游戏风格的菜单系统;鼠标支持所有带有高亮键的按钮都是可点击的,鼠标滚动在进程列表和菜单框中起作用;快速响应的用户界面,具有用于进程选择的向上、向下键;能够显示选定进程的详细统计信息;过滤流程的能力;在排序选项之间轻松切换;进程树视图;向选定进程发送任何信号;用于更改配置文件选项的所有UI菜单;网络使用的自动缩放图;显示磁盘IO活动和速度;电池电量计;图形的可选符号;您可以直接使用snapinstall安装它。如果您使用的是其他操作系统或者其他方式安装,可以参考:https://github.com/aristocratos/btop#installation章节进行安装。4.3btop的使用安装完成后,直接执行命令btop即可。#btop更多bpytop命令行选项用法:btop[-h][-v][-/+t][-p][--utf-force][--debug]optionalarguments:-h,--helpshowthishelpmessageandexit-v,--versionshowversioninfoandexit-lc,--low-colordisabletruecolor,converts24-bitcolorsto256-color-t,--tty_onforce(ON)ttymode,max16colorsandttyfriendlygraphsymbols+t,--tty_offforce(OFF)ttymode-p,--预设startwithpreset,integervaluebetween0-9--utf-forceforcestartevenifnoUTF-8localewasdetected--debugstartinDEBUGmode:showsmicrosecondtimerforinformationcollectandscreendrawfunctionsandsetslogleveltoDEBUG以上三个开源顶级替代工具可以说是JakobP.Liljenberg的三剑客。五、bottombottom[4]是一个可自定义的跨平台图形化进程/系统监视器,用于终端,支持Linux、macOS和Windows。5.1底部CPU使用率随时间、平均和每核水平的特征;随着时间的推移,RAM和交换使用情况;一段时间内的网络I/O使用情况;支持放大或缩小当前显示的时间间隔;支持显示磁盘容量、使用情况、温度传感器、电池使用情况等信息;支持进程信息(CPU、内存、网络、进程、磁盘、温度、电池)的显示、排序、搜索widgets;支持使用由命令行标志或配置文件控制的可自定义行为(自定义和预建颜色主题、更改某些小部件的默认行为、更改小部件的布局、过滤掉磁盘和温度小部件中的条目);支持按键、鼠标绑定相关快捷键;5.2bottom可以安装在ArchLinux、Debian/Ubuntu、Fedora/CentOS等多种平台或多种方式。#curl-LOhttps://github.com/ClementTsang/bottom/releases/download/0.6.6/bottom_0.6.6_amd64.deb#sudodpkg-ibottom_0.6.6_amd64.deb5.3使用bottom安装后,执行commandbtm可以是#btm6.glancesGlances[5]是一款基于Python语言编写的跨平台监控工具。它旨在通过curses或基于web的界面呈现大量的系统监控信息。GNU/Linux、BSD、MacOS和Windows操作系统的动态调整大小、top/htop替换。它可以在客户端/服务器模式下工作,可以通过终端、Web界面或API(XML-RPC和RESTful)进行远程监控,统计数据也可以导出到文件或外部时间/值数据库。除了列出所有进程及其CPU和内存使用情况外,它还可以显示有关系统的其他信息,例如:网络和磁盘使用情况文件系统空间使用情况和来自不同传感器(如电池)的总空间数据以及列表最近消耗资源过多的进程6.1Glances安装#aptinstallglances6.2Glances使用单机模式执行:#glancesWeb服务器模式执行:#glances-w使用web界面监控本机,启动RESTful服务器,从http://0.0.0.0:61208/开始浏览网页服务器。客户端/服务器模式可执行文件:#glances-s在服务器端并运行:#glances-cmoreglancesusage,optionalparameteroptionsandusecases可执行文件:glances-h查看相关帮助信息。7.gotopgotop[6]基于Go语言编写,是一个基于终端的图形化活动监视器,可以运行在Linux、FreeBSD和macOS上。7.1Gotop的安装#snapinstallgotop7.2Gotop的使用安装完成后,执行命令gotop。更多热键请参考GitHub仓库的使用部分。8.gtopGtop[7]是一个基于JavaScript语言的终端系统监控仪表板。8.1gtop的安装#aptinstallnpm#npminstallgtop-g8.2gtop的使用安装完成后,执行命令gtop。要停止gtop,请使用q键或Ctrl+c。.#gtop9,htophtop[8]可以说是top的优秀替代品。C语言编写,是一个跨平台的交互式进程监控工具,具有更好的视觉效果,更容易一目了然地了解当前系统状态,允许进程列表的垂直和水平滚动查看其完整的命令行和相关信息,例如作为内存和CPU消耗。还显示系统范围的信息,例如平均负载或交换使用情况。显示的信息可通过图形设置进行配置,并且可以交互地排序和过滤,并且无需输入其PID即可完成与流程相关的任务,例如终止和重新处理。安装也很简单,只需要执行命令:aptinstallhtop即可完成。10.nvtopNvtop[9]:NVidiaTOP,一个用于NVIDIAGPU的类似(h)top的任务监视器,可以处理多个GPU并以熟悉的htop方式打印有关它们的信息。Ubuntudisco(19.04)/Debianbuster(stable)#sudoaptinstallnvtop更多nvtop命令行选项#nvtop-hnvtopversion1.1.0Availableoptions:-d--delay:Selecttherefreshrate(1==0.1s)-v--version:Printtheversionandexit-s--gpu-select:冒号分隔的GPUIDstomonitor-i--gpu-ignore:冒号分隔的GPUIDstoignore-p--no-plot:Disablebarplot-r--reverse-abs:Reverseabscissa:plottherecentdataleftandolderontherright-C--no-color:Nocolors-N--no-cache:Alwaysquerythesystemforusernamesandcommandlineinformation-f--freedom-unit:Usefahrenheit-E--encode-hide:Setencode/decodeautohidetimeinseconds(default30s,negative=alwaysonscreen)-h--help:Printhelpandexit十一、vtopvtop[10]是一个命令行图形化活动监视器,它使用drawille以Unicode盲文字符绘制CPU和内存图表,直观地显示它们,并将具有相同名称的进程分组在一起。安装也很简单,只需要执行命令npminstall-gvtop即可完成。要运行只需执行命令vtop。dd:杀死该组中的所有进程按向下箭头或j键向下移动按向上箭头或k键向上移动进程列表按g键转到进程列表按顶部的G移动到列表末尾按c按CPU排序按m按内存排序其次,zenithzenith[11]是一种基于Rust的语言具有可扩展图形、CPU、GPU、网络和磁盘使用情况的终端图形。12.1zenith特性可选CPU、内存、网络和磁盘使用图表支持浏览磁盘可用空间、网卡IP地址、CPU频率支持显示CPU、内存和磁盘用户电池百分比、充放电时间、已用电量可过滤进程表类似于顶部,包括每个进程的磁盘使用情况更改进程优先级可缩放图形视图(支持及时回滚)使用信号管理运行之间保存的进程性能数据spacegraph12.2zenithinstallationzenith我是通过deb包安装的,但是最新的64位deb包需要基于Debian>=9或者Ubuntu的发行版>=16.04才能安装。#curl-LOhttps://github.com/bvaisvil/zenith/releases/download/0.12.0/zenith_0.12.0-1_amd64.deb#dpkg-izenith_0.12.0-1_amd64.deb12.3zenith的使用安装zenith后,运行没有任何参数的zenith将从CPU、磁盘和网络的默认可视化以及2000毫秒(2秒)的刷新率开始。#zenith更多zenith命令行选项Usage:zenith[OPTIONS]Optionalarguments:--disable-historyDisableshistorywhenflagispresent(default:false)-h,--help-V,--version-c,--cpu-heightINTMinPercentHeightofCPU/Memoryvisualization.(默认:17)--dbSTRINGDatabasetouse,ifany.-d,--disk-heightINTMinPercentHeightofDiskvisualization.(默认:17)-n,--net-heightINTMinPercentHeightofNetworkvisualization.(默认:17)-p,--process-heightINTMinPercentHeightofProcessTable.(默认:32)-r,--refresh-rateINTRefreshrateinmilliseconds.(default:2000)-g,--graphics-heightINTMinPercentHeightofGraphicsCardvisualization.(default:17)参考资料[1]bashtop:https://github.com/aristocratos/bashtop[2]bpytop:https://github.com/aristocratos/bpytop[3]btop:https://github.com/aristocratos/btop[4]底部:https://github.com/ClementTsang/bottom[5]一瞥:https://github.com/nicolargo/glances[6]gotop:https://github.com/xxxserxxx/gotop[7]gtop:https://github.com/aksakalli/gtop[8]htophttps://github.com/htop-dev/htop[9]nvtop//github.com/Syllo/nvtop[10]vtophttps://github.com/MrRio/vtop[11]zenithgithub.com/bvaisvil/zenith
top命令的11个替代品!相关文章