top 命令_您可能想知道的'top'命令行实用程序的一些替代方案

2023-10-14 19:10

本文主要是介绍top 命令_您可能想知道的'top'命令行实用程序的一些替代方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文译自: Some Alternatives To ‘top’ Command line Utility You Might Want To Know

翻译校对: EmuLab

原文及本文遵循: [CC BY-NC 协议]

2750f4cfc3efb07f556251149a4b5aab.png

世界各地的开发人员正在向GitHub和GitLab添加许多的开源程序,工具和实用程序。其中一些程序是最新的,也有一些程序只是被开发来作为现有的受欢迎和广泛使用的Linux程序的替代程序。在本教程中,我们将讨论一些好的替代top这个命令行任务管理器程序的方法。请继续阅读。

替代'top'命令行工具

在编写本指南时,我知道Top程序的以下6种替代方案,即:

  1. Htop
  2. Vtop
  3. Gtop
  4. Gotop
  5. Ptop
  6. Hegemon

如果我在未来的日子遇到任何类似的工具,我会不断更新此列表。如果您有兴趣了解此类命令行工具,请为本指南添加书签。

1. Htop

htop是一个流行的,开源的跨平台交互式流程管理器。这是我最喜欢的系统活动监控工具之一。htop是经典top程序的增强版本。它最初是为Linux开发的,但开发人员将其支持扩展到其他类Unix操作系统,如FreeBSD和Mac OS X。htop是免费开源的,其基于ncurses并在GPLv2下进行发布。

与经典的top命令相比,它具有以下几个优点。

  • htop的启动速度比top快。
  • htop允许我们水平和垂直滚动以查看所有进程和完整的命令行。
  • 无需键入PID即可终止htop中的进程。但在top中,您需要键入PID以终止进程。
  • 无需键入PID来更改进程的优先级,但是在top命令中,你需要提供PID。
  • 我们可以在htop中同时杀死多个进程。
  • 在top中,您按下的每个未分配键都会有延迟。当多键逃逸序列被意外触发时尤其令人讨厌。

安装htop

htop在大多数Linux发行版的默认软件仓库中都可用。

在基于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
82cc71721e07bcbeb698fc9b5119c2f7.png

htop默认界面

如您所见,htop任务管理器在顶部显示总内存和交换内存的使用情况,任务总数,系统平均负载和系统正常运行时间。在底部,就像top命令一样,它以多列的形式显示进程列表。每列显示详细信息,例如pid,用户,优先级,nice值,虚拟内存使用情况,cpu使用情况,每个进程的内存使用情况等。

与top命令不同,htop允许您使用专用功能键执行每个操作。以下是与htop进行交互的快捷键列表。

  • F1,h,?: 打开帮助信息。
  • F2,S(Shift + s):进入设置选项,您可以在其中配置屏幕顶部显示的仪表,设置各种显示参数,选择颜色方案,以及选择显示哪些列,以什么顺序显示等。
  • F3,/ :搜索所有显示在命令行中的进程。
  • F4, :过滤进程。只需键入进程名称的一部分,您将只看到与名称匹配的进程。再次按F4并按ESC键取消过滤。
  • F5,t :在树状视图和默认视图之间切换。按+查看子树。
  • F6, :按PID,USER,PRIORITY,NICE值,CPU使用率,MEMORY使用等对进程进行排序。
  • F7,] : 增加所选进程的优先级。
  • F8,[:降低所选进程的优先级。
  • F9,k :杀死进程。使用向上/向下箭头选择过程,然后按F9或k将其删除。
  • F10,q :退出htop。

所有快捷键都在htop界面的底部给出了提示。

除了上面提到的键之外,还有更多的键可用于执行不同的功能。例如,

  • 按'u'显示用户拥有的进程。
  • Shift + m 将按内存使用情况对进程进行排序。
  • Shift + p :按处理器使用情况对进程进行排序。
  • Shift+ t :按时间对进程进行排序。
  • CTRL + l :刷新屏幕。

htop可以使用快捷键完成所有操作,而无需在启动时提及任何选项。但是,启动时可以使用一些参数。

例如,要启动htop仅显示给定用户拥有的进程,请运行:

$ htop -u 

更改输出刷新时间间隔:

$ htop -d 10

正如您所看到的,htop的使用比使用top命令要容易得多。

请参阅htop手册页以了解更多有关htop的功能键的信息。

$ man htop

2. Vtop

Vtop 是古老的top程序的另一种替代品。它是一个免费的开源命令行系统活动监视器,用NodeJS 编写并在MIT许可证下发布。它使用unicode braille字符绘制CPU和内存图表,帮助您可视化系统峰值。

确保在系统上安装了NodeJS。

安装节点后,运行以下命令以安装Vtop。

$ npm install -g vtop

安装Vtop后,只需运行vtop即可开始监控。

$ vtop

示例输出:

3cc505f67fa117dd12ebcd277d6bbf4b.png

如您所见,Vtop界面与top和htop程序略有不同。它以单独的框布局显示每个细节。您将在底部看到所有的与Vtop进行交互的快捷键。

以下是快捷方式列表:

  • dd - 杀死进程。
  • 向上箭头或k - 向上移动。
  • 向下箭头或j - 向下移动。
  • 左箭头或h - 缩放图形。
  • 右箭头或l - 缩小图形。
  • g - 跳转到进程列表的顶部。
  • SHIFT + g - 跳转到进程列表的末尾。
  • c - 按CPU使用情况对进程进行排序。
  • m - 按内存使用情况对进程进行排序。

3. Gtop

Gtop与Vtop系统活动监视器相同。它也是用NodeJS编写的,并在MIT许可下发布。

要安装它,请运行:

$ npm install gtop -g

使用命令启动gtop:

$ gtop

示例输出:

55c9d798a86f21ef35fd44e8fa1b9ff6.png

运行中的gtop

我注意到Gtop界面非常好。它以不同的颜色组合显示每个元素,令人赏心悦目。

键盘快捷键:

  • p - 按进程ID对流程进行排序。
  • c - 按CPU使用情况对进程进行排序。
  • m - 按内存使用情况对进程进行排序。
  • q 或ctrl + c - 退出Gtop。

有关更多详细信息,请访问Gtop GitHub页面。

4. Gotop

顾名思义,Gotop 是一个TUI图形活动监视器,用Go 编程语言编写。它是完全免费开源的,并且受到我们在前面部分中提到的gtop 和vtop 程序的启发。这里不过多介绍。

5. Ptop

有些人可能不喜欢用NodeJS和Go编写的程序。如果你是其中之一,还有另一个名为Ptop 的进程监控程序,用Python编程语言编写。它是免费开源的系统活动监视器,在MIT许可下发布。

Ptop兼容Python2.x和Python3.x,因此您可以使用Pip 轻松安装它。pip是一个软件包管理器,用于安装用Python开发的程序。

安装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
76931ed5b64e1ebf9ca60c2a78a4f38c.png

运行中的ptop

以下是与ptop交互的快捷键列表:

  • Ctrl + k - 杀死进程。
  • Ctrl + n - 按内存使用情况对进程进行排序。
  • Ctrl + t - 按进程生命周期排序进程。
  • Ctrl + r - 重置统计数据。
  • Ctrl + f - 过滤特定的进程信息。只需输入进程名称,您将只看到其详细信息。
  • Ctrl + l - 查看所选进程的信息。
  • g - 转到进程列表的顶部。
  • Ctrl + q - 退出Ptop。

Ptop具有改变主题的功能。如果你想要一个漂亮的Ptop输出,你可以使用任何一个可用的主题。目前支持以下主题:

  • 丰富多彩(colorful)
  • 优雅(elegant)
  • 简单(simple)
  • 黑暗(dark)
  • 光(light)

要设置主题,例如colorful,只需运行:

$ ptop -t colorful

要查看帮助信息,请使用-h :

$ ptop -h

有关更多详细信息,请参阅项目的GitHub页面。

6.Hegemon

Hegemon 是另一个用Rust编程语言编写的系统活动监视器程序。如果你喜欢用Rust编写的程序,Hegemon可能是个不错的选择。访问Hegemon官网以了解更多信息。

结论

你现在知道Top程序的六种替代方案。我不会声称这些程序一定就比“top”程序更好。但了解一些替代方案总是很好的。我主要使用htop来监控进程。现在轮到你了。你使用过任何这里列出的工具吗?哪个是您最喜欢的工具?为什么?请在下面的评论部分分享您的经验。

推荐阅读(点击跳转):

如何方便地在Linux上查询硬件信息并生成报告

3个重启Linux系统的命令(以及4个安全实现的方式)

如何轻松地在命令行上同时移动多种类型的文件?

GameHub:将所有的游戏统一到一个屋檐(平台)下

喜欢使用Linux办公、学习、hack的朋友们可以点击关注小编,小编将竭力提供更多内容给大家交流~

这篇关于top 命令_您可能想知道的'top'命令行实用程序的一些替代方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/212531

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

linux 判断某个命令是否安装

linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' >&2exit 1fi