在 GitHub 和 GitLab 上,不断有来自世界各地的开源应用程序和工具涌现。其中有全新的应用程序,也有针对现有各种被广泛使用的Linux程序的替代方案。在本文档中,我会介绍一些针对top工具(也就是命令行任务管理器程序)的替代方案。
top 工具的替代方案
在本文中,将会介绍以下 6 种top工具的替代方案:
Htop
Vtop
Gtop
Gotop
Ptop
Hegemon
如果后续有更多类似的工具,原作者会在原文进行更新。如果你对此有兴趣,可以持续关注。
Htop
htop是一个流行的开源跨平台交互式进程管理器,也是我最喜欢的系统活动监控工具。htop是对原版top工具的扩展。它最初只是用于 Linux 系统,后来开发者们不断为其添加对其它类 Unix操作系统的支持,包括 FreeBSD和 Mac OS。htop还是一个自由开源软件,它基于 ncurses 并按照 GPLv2 发布。
和原版的top工具相比,htop工具有这些优势:
htop比top启动更快
htop支持横向滚动和纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行
在top工具中进行杀死进程、更改进程优先级这些操作时,需要输入进程 ID,而在htop工具中则不需要输入
在htop中可以同时杀死多个进程
在top中每次输入一个未预设的键都要等待一段时间,尤其是在多个键组成转义字符串的时候就更麻烦了
在很多 Linux 发行版的默认软件仓库中,都带有了htop。
在基于 Arch 的操作系统中则可以执行以下命令来安装htop:
$ sudo pacman -S htop
在基于 Debian 的操作系统使用以下命令:
$ sudo apt install htop
在使用 RPM 软件管理的操作系统使用以下命令:
$ sudo dnf install htop
或者
$ sudo yum install htop
在 openSUSE 系统中:
$ sudo zypper in htop
用法
不带任何参数执行 htop 时,会显示如下画面:
$ htop
从图上可以看出,htop会在界面顶部显示内存、交换空间、任务总数、系统平均负载、系统正常运行时间这些常用指标,在下方则和top一样显示进程列表,并且将进程的 ID、用户、进程优先级、进程 nice 值、虚拟内存使用情况、CPU使用情况、内存使用情况等信息以多列显示出来。
和top不同的是,htop支持对不同的操作使用专有的按键。以下列出一些用于与htop交互的快捷键:
F1、h、?:进入帮助界面。
F2、Shift+s:进入设置界面。在设置界面中可以配置仪表板界面顶部显示哪些数据,以及设置颜色方案、显示列、显示顺序等等多种参数。
F3、/:在进程列表中进行搜索。
F4、:进入筛选模式。输入一个字符串,筛选出包含这个字符串的进程。进入筛选模式后再按一次F4或者ESC可以退出筛选模式。
F5、t:切换默认显示模式和树型显示模式,在树型显示模式下按+可以查看子树。
F6、<、>:依次按照进程 ID、用户、进程优先级、进程 nice 值、CPU 使用率、内存使用率排序显示。
F7、]:提高所选进程的优先级。
F8、[:降低所选进程的优先级。
F9、k:杀死所选进程。可以用↑/↓键选择不同的进程并按F9杀死进程。
F10、q: 退出htop
以上这些快捷键都在htop界面底部显示。
需要注意的是,这其中有一些快捷键可能会与已有的快捷键发生冲突。例如按F2之后可能没有进入htop的设置界面,而是开始了对终端窗口的重命名。在这种情况下,你可能要更改一下快捷键的设置。
除了以上列出的快捷键以外,还有一些带有其它功能的快捷键,例如:
u可以选择显示某个用户的进程。
Shift+m可以按照内存使用量对进程列表排序。
Shift+p可以按照 CPU 使用量对进程列表排序。
Shit+t可以按照进程启动时间对进程列表排序。
CTRL+l刷新界面。
htop的所有功能都可以在启动后通过快捷键来调用,而不需要在启动的时候带上某个参数。当然,htop也支持带参数启动。
例如按照以下方式启动htop就可以只显示某个用户的进程:
$ htop -u
更改界面自动刷新的时间间隔:
$ htop -d 10
看,htop 确实比 top 好用多了。
想了解 htop 的更多细节,可以查阅它的手册页面:
$ man htop
也可以查看它的项目主页 和 GitHub 仓库。
Vtop
vtop 是 top 工具的另一个替代方案。它是一个使用 NodeJS 编写的、自由开源的命令行界面系统活动监视器,并使用 MIT 许可证发布。vtop 通过使用 unicode 中的盲文字符来绘制 CPU 和内存使用情况的可视化图表。
在安装 vtop 之前,需要先安装 NodeJS。如果还没有安装 NodeJS,可以按照这个教程进行安装。
NodeJS 安装完毕之后,执行以下命令安装 vtop:
$ npm install -g vtop
安装好 vtop 就可以执行以下命令开始监控了。
$ vtop
显示界面如下:
如上图所示,vtop界面和top、htop都有所不同,它将不同的内容分别以多个框的布局显示。另外在界面底部也展示了用于与vtop交互的所有快捷键。
vtop有这些快捷键:
dd:杀死一个进程。
↑、k:向上移动。
↓、j:向下移动。
←、h:放大图表。
→、l:缩小图表。
g:跳转到进程列表顶部。
Shift+g:跳转到进程列表底部。
c:以 CPU 使用量对进程排序。
m:以内存使用量对进程排序。
想要了解更多关于vtop的细节,可以查阅它的项目主页或者GitHub 仓库。
Gtop
gtop和vtop一样,都是一个使用 NodeJS 编写、在 MIT 许可下发布的系统活动监视器。
执行以下命令安装gtop:
$ npm install gtop -g
然后执行以下命令启动:
$ gtop
显示界面如下:
gtop有一个优点,就是它会以不同的颜色来显示不同的模块,这种表现形式非常清晰明了。
主要的快捷键包括:
p:按照进程 ID 对进程排序。
c:按照 CPU 使用量对进程排序。
m:按照内存使用量对进程排序。
q、Ctrl+c:退出。
想要了解更多关于gtop的细节,可以查阅它的GitHub 仓库。
Gotop
gotop也是一个完全自由和开源的图表式系统活动监视器。顾名思义,它是在受到gtop和vtop的启发之后用 Go 语言编写的,因此也不再对其展开过多的赘述了。
Ptop
有些人对 NodeJS 和 Go 语言的项目可能不太感冒。如果你也是其中之一,你可以试一下使用Python编写的ptop。它同样是一个自由开源的、在 MIT 许可下发布的系统活动监视器。
ptop同时兼容 Python2.x 和Python3.x,因此可以使用 Python 的软件包管理器pip轻松安装。
安装pip之后,执行以下命令就可以安装ptop:
$ pip install ptop
又或者按照以下方式通过源代码安装:
$ git clone https://github.com/darxtrix/ptop$ cd ptop/$ pip install -r requirements.txt # install requirements$ sudo python setup.py install
如果需要对 ptop 进行更新,可以这样操作:
$ pip install --upgrade ptop
即使你不执行更新,ptop 也会在第一次启动的时候提示你是否需要更新到最新的版本。
现在可以看一下启动 ptop 后的界面。
$ ptop
就像下面这样:
ptop的快捷键包括以下这些:
Ctrl+k:杀死一个进程。
Ctrl+n:按照内存使用量对进程排序。
Ctrl+t:按照进程启动时间对进程排序。
Ctrl+r:重置所有数据。
Ctrl+f:对进程进行筛选,输入进程的名称就能够筛选出符合条件的进程。
Ctrl+l:查看所选进程的详细信息。
g:跳转到进程列表顶部。
Ctrl+q:退出。
ptop还支持更改显示主题。如果你想让ptop更好看,可以选择你喜欢的主题。可用的主题包括以下这些:
colorful
elegant
simple
dark
light
如果需要更换主题(例如更换到 colorful 主题),可以执行以下命令:
$ ptop -t colorful
使用 -h 参数可以查看帮助页面:
$ ptop -h
想要了解更多关于 ptop 的细节,可以查阅它的 GitHub 仓库。
Hegemon
hegemon 是一个使用 Rust 编写的系统活动监视器,如果你对 Rust 感兴趣,也可以了解一下。
总结
以上就是关于 top 工具的 6 个替代方案。我并不会说它们比 top 更好或者可以完全替代 top,但多了解一些类似的工具总是好的。你有使用过这些工具吗?
推荐阅读
(点击标题可跳转阅读)
Linux 常用命令:解压缩篇
在 Linux 命令行中使用 tcpdump 抓包
CPU 100% 异常排查实践与总结
看完本文有收获?请分享给更多人
关注「Linux 爱好者」加星标,提升Linux技能
- Linux
+关注
关注
87文章
11090浏览量
207596 - TOP
+关注
关注
0文章
35浏览量
31726 - RPM
+关注
关注
0文章
44浏览量
17665
原文标题:关于 top 工具的 6 个替代方案
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先登录
相关推荐
评论