标签 htop 下的文章

Windows 有其著名的任务管理器。Linux 有几个 GUI 和 命令行的系统监视器。每个 Linux 系统都都有几个这样的监视器。

在命令行中,top 命令可能是用于快速检查系统资源使用情况的最佳命令。

除了查看进程之外,使用 top 命令 可能会很麻烦。而这就是 htop 的优势所在。抛开双关语不谈,htop 是一个类似于 top 的实用程序,但具有更好的、用户友好的界面。

在本指南中,我将向你展示如何在 Linux 中安装和使用 htop

在 Linux 中安装 htop 实用程序

在大多数的 Linux 发行版中你不会找到预安装的 htop,但作为最流行的实用程序之一,你会在几乎每个 Linux 发行版的默认存储库中找到 htop

因此,如果你的机器是基于 Debian/Ubuntu 驱动的,则以下命令应该可以完成你的工作:

sudo apt install htop

类似的,如果你使用的是 Fedora,则可以使用以下的命令:

sudo dnf install htop

如果你想避免从源代码构建包,还有一个 Snap 包可用:

sudo snap install htop

如果你使用的是其它的发行版或者想从源代码构建,你可以随时参考 htop 的 GitHub 页面以获得详细说明。

完成安装后,你只需在终端中使用 htop 命令,它将反映系统中所有正在运行的进程:

htop

安装和使用 htop

htop 中,每个部分都使用颜色标识,所以让我们看看使用 htop 时每种颜色表示什么。

htop 中不同的颜色和统计信息表示什么

让我们从 CPU 使用率栏开始,因为它使用的颜色最缤纷多彩。

CPU 使用率栏

htop 中的 cpu 进程

  • 绿色:用户进程消耗的资源。
  • 蓝色:表示低优先级线程。
  • 红色:系统(内核)进程使用的 CPU 资源。
  • 水蓝色:表示虚拟化进程。

内存使用率栏

htop 中的内存栏

  • 绿色:系统进程正在使用的内存。
  • 蓝色:缓冲页面使用的内存。
  • 橙色:分配给缓存页面的内存。

统计数据

htop 中的任务统计

  • 1.86 是最后 1 分钟的平均负载。
  • 1.75 是最后 4 分钟的平均负载。
  • 1.47 是最后 15 分钟的平均负载。
  • Tasks: 166 表示一共有 166 个正在运行的进程。
  • 1249 thr 表示这 166 个进程由 1249 个线程处理。
  • 1 running 表示在这 166 个进程中,只有一个进程处于运行中。
  • The load average 表示一段时间内的平均系统负载。由于我的系统是 Hexa-Core,所以 6.0 以下的是没问题的。这个数字可能会超过,比如 6.1,所以即将要运行的进程必须等待正在进行的任务完成。
  • Uptime 表示你登录后运行的时长。

现在,让我们跳到实际的实现部分。

如何在 Linux 中使用 htop

由于 htop 主要用于检查系统资源,让我们看看如何根据资源消耗对进程进行排序。

根据资源消耗对进程进行排序

根据 CPU 和内存使用情况对进程进行排序最简单的方法是使用鼠标指针。将光标悬停在 CPU 或内存部分上,然后单击其中任何一个。

在那里你会看到一个三角形的图标 ,你可以根据它从最高到最低的资源消耗对进程进行排序:

但是,如果你正在处理远程服务器,你可能无法使用鼠标,在这种情况下,你可以使用键盘快捷键。

F6,它将显示每个可用的选项来对正在进行的进程进行排序:

使用键盘快捷键对 htop 中的进程进行排序

你可以使用方向键选择一个首选的排序选项,然后按回车键,结果应该会如预期的那样反映出来。

搜索特定进程

如果你想查找一个特定的进程及其资源消耗,你可以按 F3,它会给你一个搜索提示,如下所示:

在 htop 中搜索进程

例如,我搜索 htop,它用浅橙色高亮显示了进程。你可以按 F3 获得下一个结果。

过滤正在运行的进程

虽然搜索可能会让你获得预期的结果,但我发现使用关键字的过滤过程更加有效,因为它提供了一个过程列表。

要过滤进程,你必须按 F4 并输入进程的名称。例如,我过滤了与 gnome-boxes 相关的进程:

在 htop 中过滤进程

杀死进程

一旦找到最耗资源和不必要的进程,你只需按 F9,它就会向你显示终止信号:

在 htop 中杀死进程

我无法介绍所有的 15 个终止信号,我们有一个关于 不同终止信息 的单独指南,因此如果你想了解更多信息,可以参考该指南。

但我会建议你首先使用 SIGTERM,因为它是终止进程的最有效和友好的方式。

自定义 htop

在这里,我的目标是添加日期和时间并将配色方案更改为单色。

首先,按 F2,它会出现设置提示,允许用户更改 htop 的外观:

在 ubuntu 中自定义 htop

首先,将鼠标悬停在各个 Colors 部分并按回车键,这将允许我们更改配色方案。从那里,选择 Monochromatic 选项并按回车键保存更改:

在 Linux 中更改 htop 颜色

现在,返回到设置选项,然后使用向左方向键探索可用的指标:

探索 htop 中可用的指标

因为我打算添加日期和时间,所以我必须在找到它的选项后按回车键。

在这里,它允许你将日期和时间放置在左右两列中,你可以使用向上和向下的方向键更改列的顺序。

所以我将日期和时间指标放在最后一个样式选项中(你可以使用空格键更改样式):

在 htop 中添加日期和时间

完成日期和时间指标的对齐后,按回车键保存更改,然后按 F10 关闭设置提示。

总结

在本指南中,我解释了如何在不同的 Linux 发行版中安装 htop 实用程序,以及如何使用 htop 的一些基本功能来有效的管理系统资源。

但是 htop 可以做更多的事情,要了解更多信息,你可以随时参考它的手册页,我们有一个详细的指南,告诉你如何 在 Linux 中充分利用手册页


via: https://itsfoss.com/use-htop/

作者:Sagar Sharma 选题:lkxed 译者:perfiffer 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

htop 是一个流行的命令行工具,可以帮助监测 Linux 上的系统资源和性能。

它比通常默认开箱即用的 top 好

使用 htop,你可以对进程进行过滤和排序,以便更好地了解情况,获得正在运行的进程的树状视图,并在需要时杀死进程。

htp 2022

我使用 htop 而不是其他系统监控工具,因为它可以显示对我来说至关重要的东西,并允许在我需要控制运行中的服务时终止流氓进程或冻结进程。

但是,如果你想要其他显示更多信息,或一个看起来不同的东西,有哪些htop 替代品呢?让我们来看看。

1、atop

atop 2022

atop 可以提供所有运行的进程的细节。你可以得到你需要的所有数据,以了解你系统上的进程情况。

它还提供了对资源利用率进行永久记录的能力,以便进行长期分析。系统管理员可能会发现这比其他工具更有用。

不幸的是,它并没有为你提供漂亮的输出。因此,如果你想要的话,请继续看下面的其他替代品。

如何安装 atop?

对于基于 Ubuntu/Debian 的发行版,键入:

sudo apt install atop

2、vtop

vtop 2022

如果你想要一个漂亮的输出和管理进程的基本功能,vtop 是一个完美的系统监控工具。

正如我在其他一些文章中所说,它的输出看起来像终端中的 GUI。你可以使用鼠标,也可以选择禁用它。也可以定制它的主题。

它是用 Node.js 构建的。所以,你需要安装额外的包来安装它。

不幸的是,这个项目似乎不再积极维护。但是,在写这篇文章的时候,它对我来说还是有用的。

如何安装 vtop?

对于基于 Ubuntu 的发行版,在终端输入以下命令:

sudo apt install nodejs
sudo apt install npm
sudo npm install -g vtop

3、btop++

btop

btop++ 是 bashtop 和 bpytop 的一个 C++ 版本。是的,它是这些项目的第三次迭代,由同一个开发者完成。

btop++ 包括完全的鼠标支持,带有一个受游戏启发的菜单系统,可以让你过滤进程、树状视图等等。

如何安装 btop++?

使用官方软件库,你可以很容易地在 Fedora、openSUSE 和 FreeBSD 上安装它。

对于 Fedora,你可以键入:

sudo dnf install btop

你可以探索它的 GitHub 页面,了解在其他 Linux 发行版上的安装方式。

4、Glances

glances 2022

Glances 与 htop 类似,但有更多的功能。

它是一个跨平台的系统监控工具,可以将数据以 CSV 或其他格式导出,用于 InfluxDB、Elasticsearch 等。

你也可以利用它的网页用户界面,远程(或在不能访问终端的情况下)查看统计数据。

如何安装 Glances?

对于基于 Ubuntu 的发行版,你可以键入:

sudo apt install glances

5、nmon

nmon 2022 1

nmon 是一个令人印象深刻的监测工具,它可以让你控制你想显示的输出内容。

你可以提取监测数据(以 CSV 格式导出)并用于进一步分析。它很容易切换统计数据和在不同的视图之间进行切换。

默认情况下,它每两秒刷新一次数据,但你可以自定义它,并使用更多的选项来调整你的体验。

如何安装 nmon?

你可以在官方软件库中找到它。对于基于 Ubuntu 的发行版,在终端键入以下内容:

sudo apt install nmon

总结

top 2022

top 命令工具被植入在你的 Linux 系统中。如果你想要一个基本的监控工具,想要关注系统进程和一些统计信息,top 就足够了。

我不确定它是否可以算作比 htop 更强的体验,这也是 top 没有被列入主要列表的原因。

正如你在这里看到的,一些监控工具可能很有趣,而且证明比 htop 更有洞察力。

你最喜欢的 htop 替代品是什么?你认为 htop 对你的使用情况来说已经足够了吗?欢迎在下面的评论中让我知道你的想法。


via: https://itsfoss.com/htop-alternatives/

作者:Ankush Das 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

从 2.0 版开始,htop 现在是跨平台的了。现在支持 Linux、FreeBSD、OpenBSD 和 Mac OS X 了,可以从 FOSDEM 2016 上的视频演讲了解更多。

此外,还有一些新功能:

  • 如你使用 NCurses 6,可以使用鼠标滚轮进行滚动。
  • 在设置屏中移动字段和列更优雅。
  • 可以按下“e”来查看某个进程的环境变量设置。
  • 重新打磨过显示界面,灵感来自 James Hall 的 vtop

此外,还有很多优化和错误修正。

命令行听起来有时候会很吓人,特别是在刚刚接触的时候,你甚至可能做过有关命令行的噩梦。然而渐渐地,我们都会意识到命令行实际上并不是那么吓人,反而是非常有用。实际上,没有命令行正是每次我使用 Windows 时让我感到崩溃的地方。这种感觉上的变化是因为命令行工具实际上是很智能的。 你在任何一个 Linux 终端上所使用的基本工具功能都是很强大的, 但还远说不上是足够强大。 如果你想使你的命令行生涯更加愉悦, 这里有几个程序你可以下载下来替换原来的默认程序, 它还可以给你提供比原始程序更多的功能。

dfc

作为一个 LVM 使用者, 我非常喜欢随时查看我的硬盘存储器的使用情况. 我也从来没法真正理解为什么在 Windows 上我们非得打开资源管理器来查看电脑的基本信息。在 Linux 上, 我们可以使用如下命令:

$ df -h

该命令可显示电脑上每一分卷的大小、 已使用空间、 可用空间、 已使用空间百分比和挂载点。 注意, 我们必须使用 "-h" 选项使得所有数据以可读形式显示(使用 GiB 而不是 KiB)。 但你可以使用 dfc 来完全替代 df, 它不需要任何额外的选项就可以得到 df 命令所显示的内容, 并且会为每个设备绘制彩色的使用情况图, 因此可读性会更强。

另外, 你可以使用 "-q" 选项将各分卷排序, 使用 "-u" 选项指定你希望使用的单位, 甚至可以使用 "-e" 选项来获得 csv 或者 html 格式的输出.

dog

Dog 比 cat 好, 至少这个程序自己是这么宣称的。 你应该相信它一次。 所有 cat 命令能做的事, dog 都做的更好。 除了仅仅能在控制台上显示一些文本流之外, dog 还可以对其进行过滤。 例如, 你可以使用如下语法来获得网页上的所有图片:

$ dog --images [URL] 

或者是所有链接:

dog --links [URL] 

另外, dog 命令还可以处理一些其他的小任务, 比如全部转换为大写或小写, 使用不同的编码, 显示行号和处理十六进制文件。 总之, dog 是 cat 的必备替代品。

advcp

一个 Linux 中最基本的命令就是复制命令: cp。 它几乎和 cd 命令地位相同。 然而, 它的输出非常少。 你可以使用 verbose 模式来实时查看正在被复制的文件, 但如果一个文件非常大的话, 你看着屏幕等待却完全不知道后台在干什么。 一个简单的解决方法是加上一个进度条: 这正是 advcp (advanced cp 的缩写) 所做的! advcp 是 GNU coreutils 的一个 补丁版本, 它提供了 acp 和 amv 命令, 即"高级"的 cp 和 mv 命令. 使用语法如下:

$ acp -g [file] [copy] 

它把文件复制到另一个位置, 并显示一个进度条。

我还建议在 .bashrc 或 .zshrc 中设置如下命令别名:

alias cp="acp -g"
alias mv="amv -g"

(译者注: 原文给出的链接已貌似失效, 我写了一个可用的安装脚本放在了我的 gist 上, 用的是 AUR 里的 patch。)

(译者注:由于 GIST 被封,所以我将这个构建脚本贴到这里,大家可以使用它来构建一个自己用的二进制程序。)

#!/usr/bin/env bash
set -e
 
tmpdir=$(mktemp -t -d advcp.XXXXXX)
cd ${tmpdir}
 
wget https://aur.archlinux.org/packages/ad/advcp/advcp.tar.gz
tar xf advcp.tar.gz
 
source advcp/PKGBUILD
 
wget http://ftp.gnu.org/gnu/coreutils/coreutils-"${_pkgver}".tar.xz
tar xf coreutils-"${_pkgver}".tar.xz
 
cd coreutils-"${_pkgver}"
 
echo "Patching..."
patch -p1 -i ../advcp/advcpmv-"${_pkgver}"_"${pkgver}".patch || exit 1
 
echo "Start making..."
./configure || exit 1
make || exit 1
 
sudo install -Dm 755 "${PWD}"/src/cp /usr/local/bin/acp
sudo install -Dm 755 "${PWD}"/src/mv /usr/local/bin/amv
 
echo "Installation succeeded!"
echo "Don't forget to add \"alias cp='acp -g'\" and \"alias mv='amv -g'\" in your bashrc!"

The Silver Searcher

the silver searcher 这个名字听起来很不寻常(银搜索...), 它是一款设计用来替代 grep 和 ack 的工具。 The silver searcher 在文件中搜索你想要的部分, 它比 ack 要快, 而且能够忽略一些文件而不像 grep 那样。(译者注: 原文的意思貌似是 grep 无法忽略一些文件, 但 grep 有类似选项) the silver searcher 还有一些其他的功能,比如彩色输出, 跟随软连接, 使用正则表达式, 甚至是忽略某些模式。

作者在开发者主页上提供了一些搜索速度的统计数字, 如果它们的确是真的的话, 那是非常可观的。 另外, 你可以把它整合到 Vim 中, 用一个简洁的命令来调用它。 如果要用两个词来概括它, 那就是: 智能、快速。

plowshare

所有命令行的粉丝都喜欢使用 wget 或其他对应的替代品来从互联网上下载东西。 但如果你使用许多文件分享网站, 像 mediafire 或者 rapidshare。 你一定很乐意了解一款专门为这些网站设计的对应的程序, 叫做 plowshare。 安装成功之后, 你可以使用如下命令来下载文件:

$ plowdown [URL] 

或者是上传文件:

$ plowup [website name] [file] 

前提是如果你有那个文件分享网招的账号的话。

最后, 你可以获取分享文件夹中的一系列文件的链接:

$ plowlist [URL] 

或者是文件名、 大小、 哈希值等等:

$ plowprobe [URL] 

对于那些熟悉这些服务的人来说, plowshare 还是缓慢而令人难以忍受的 jDownloader 的一个很好的替代品。

htop

如果你经常使用 top 命令, 很有可能你会喜欢 htop 命令。 top 和 htop 命令都能对正在运行的进程提供了实时查看功能, 但 htop 还拥有一系列 top 命令所没有的人性化功能。 比如, 在 htop 中, 你可以水平或垂直滚动进程列表来查看每个进程的完整命令名, 还可以使用鼠标点击和方向键来进行一些基本的进程操作(比如 kill、 (re)nice 等),而不用输入进程标识符。

mtr

系统管理员的一个基本的网络诊断工具traceroute可以用于显示从本地网络到目标网络的网络第三层协议的路由。mtr(即“My Traceroute”的缩写)继承了强大的traceroute功能,并集成了 ping 的功能。当发现了一个完整的路由时,mtr会显示所有的中继节点的 ping 延迟的统计数据,对网络延迟的定位非常有用。虽然也有其它的 traceroute的变体(如:tcptraceroute 或 traceroute-nanog),但是我相信 mtr 是traceroute 工具里面最实用的一个增强工具。

总的来说, 这些十分有效的基本命令行的替代工具就像那些有用的小珍珠一样, 它们并不是那么容易被发现, 但当一旦你找到一个, 你就会惊讶你是如何忍受这么长没有它的时间! 如果你还知道其他的与上面描述相符的工具, 请在评论中分享给我们。


via: http://xmodulo.com/2014/07/better-alternatives-basic-command-line-utilities.html

作者:Adrien Brochard 译者:wangjiezhe 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在 Linux 系统中,top 命令用来显示系统中正在运行的进程的实时状态,它显示了一些非常有用的信息,比如 CPU 利用情况、内存消耗情况,以及每个进程情况等。但是,你知道吗?还有另外一个命令行工具 'htop',它与传统的 top 命令功能一样,但它有更加强大的功能及能显示更多的信息。这篇文章,我们会用实例来讨论这个 'htop' 命令。

Linux 中的 htop 命令

下面是从 htop 的手册页摘抄下来的相关描述:

它类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。

可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。

首先明白它的输出

htop 命令以直观的格式来显示信息。下面是 HTOP 的输出快照:

htop

如果你观察窗口的左上角部分,你会看到显示的是 CPU 负载、内存消耗及交换空间的实时信息,右上角包含的是任务、线程、平均负载及系统运行时间的信息。

平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已,在单核的系统中,平均负载为1表示的是百分之百的 CPU 利用率。最后,运行时间 (uptime)标示的数字是从系统启动起到当前的运行总时间。

下面,我们将用例子来进一步讨论这个命令。

1. 用 F2 键编辑配置

htop 命令提供了许多自定义选项,你所要做的就是从主窗口中按下 F2 键。

下面所示的是可用的自定义选项:

htop-settings

只需使用箭头键选择和更改特定的设置。

2. 通过 F9 键发送信号

htop 命令可以让你很容易地在 htop 窗口内给一个进程发送任意的信号。按下 F9 键即可。

signals

如你所见,窗口的左边部分列出的是所有可用的信号,右边部分列出的是进程。只要选中信号,并选择一个进程,然后按下 enter 键,选中的信号就会发送到此进程。

3. 显示进程的树状视图

htop 命令也提供了进程的树状视图查看功能。按下 F5 键切换。

下面是 htop 显示树形视图信息的例子:

treeView

要退出树状视图模式,请再一次按下 F5 键。

4. 通过 F3 键搜索进程

htop 命令提供了易用的方式来搜索进程。按下 F3 键,一个文本框就会出现在窗口底部。

下面是例子:

search

如您所见,一条名为‘搜索’的文本提示框出现在窗口底部,您可以在这儿输入进程的名字然后回车搜索。如果找到,它会在列出的进程列表里高亮选中此进程。

5. 通过空格键来设置颜色标注进程条目

在系统中运行着的实时进程视图中,要追踪某个进程是个大问题。因为整个列表在不停的刷新着,进程的排列顺序也在变动着。为了这个问题, htop 提供了一个很简单的解决方案:颜色标注。是的,你可以标注一个进程条目,它会以不同的颜色显示,因此要追踪它就变得容易了。

要标注某个进程条目,需要做的就是选中此条目,然后按下‘空格’键。例如,在下面的截图示例中,我已经颜色标注了三个进程条目:

color-tag

所以通过此方法,你就能很轻松地追踪想查看的进程。

6. 命令行选项

除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分:

  • -s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。
  • -u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
  • -d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。

via: http://linoxide.com/linux-command/linux-htop-command/

译者:runningwater 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出