Linux运维基础之htop命令详解

Linux运维基础之htop命令详解

htop 命令是 Hisham’s top 的首字母缩写,它是一个功能强大的工具,可提供运行系统的动态实时视图。与传统的 top 命令不同,htop 提供了交互性更强、更友好的用户界面,可显示所有进程、CPU 使用率、内存和其他重要系统统计信息的完整概览。

对于需要监控系统性能、管理进程或排除故障的人来说,它尤其方便。与 top 命令类似,htop 可与 psvmstat 等其他命令一起使用,以全面了解系统行为。

如何安装 htop 命令

许多 Linux 发行版通常不默认包含 htop,因此你可能需要安装它。以下是如何在一些常见的 Linux 发行版上安装和卸载 htop

对于基于 Debian 的系统(如 Ubuntu):

要安装 htop,请打开终端并运行:

sudo apt-get update
sudo apt-get install htop
要卸载 htop,可以使用:
sudo apt-get remove htop
对于基于 Red Hat 的系统(如 Fedora):

要安装 htop,请使用:

sudo dnf install htop
要卸载 htop,可以使用:
sudo dnf remove htop
对于基于 SUSE 的系统:

要安装 htop,请使用:

sudo zypper install htop
要卸载 htop,可以使用:
sudo zypper remove htop

适用于 Arch Linux:

要安装 htop,请使用:

sudo pacman -S htop
要卸载 htop,可以使用:
sudo pacman -R htop

如何使用 htop

1. 查看系统进程和资源

语法:htop

说明:显示系统进程和资源使用情况的交互式概览。

示例:htop

输出:

1  [|||||||                    16.7%]     Tasks: 34, 60 thr; 2 running
2  [||||||||                   20.0%]     Load average: 0.07 0.02 0.00 
Mem[|||||||||||||||       512M/1000M]     Uptime: 02:23:45
Swp[|||                      50M/100M]

该输出显示了两个内核的 CPU 使用率、内存使用率、交换使用率、任务数、平均负载和系统正常运行时间。条形图直观地显示了资源消耗情况。

2. 按用户过滤进程

语法:htop -u USERNAME

说明:仅显示特定用户拥有的进程。

示例:htop -u john

输出:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
1234 john       20   0 1024M  100M 9000 S  5.0 10.0  0:00.91 /usr/bin/app

该输出显示用户 john 拥有的进程,包括 PID、优先级、虚拟内存、常驻内存、共享内存、CPU 和内存百分比等详细信息。

3. 按内存使用情况排序进程

语法:htop -s PERCENT_MEM

说明:显示按内存使用情况排序的进程。

示例:htop -s PERCENT_MEM

输出:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
5678 alice      20   0 2048M  200M 9000 S 10.0 20.0  0:01.23 /usr/bin/heavyapp
1234 john       20   0 1024M  100M 9000 S  5.0 10.0  0:00.91 /usr/bin/app

该输出显示按内存使用情况排序的进程,占用内存最多的进程排在最前面。它包括 PID、用户、优先级、虚拟内存和常驻内存、CPU 和内存百分比等详细信息。

4. 只显示带有特定字符串的进程

语法:htop -p PID[,PID...]

说明:仅显示具有指定进程 ID (PID) 的进程。

示例:htop -p 1234,5678

输出:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
1234 john       20   0 1024M  100M 9000 S  5.0 10.0  0:00.91 /usr/bin/app
5678 alice      20   0 2048M  200M 9000 S 10.0 20.0  0:01.23 /usr/bin/heavyapp

此输出仅显示指定 PID( 12345678 )的进程,以及用户、优先级、内存使用量、CPU 和内存百分比等详细信息。

5. 以树形视图显示进程

语法:htop -t

说明:以树形视图显示进程,显示父子关系。

示例:htop -t

输出:

PID USER      Command
1   root      /sbin/init
 `-1234 john   \_ /usr/bin/app
    `-5678 alice  \_ /usr/bin/heavyapp

该输出以树形视图显示进程,说明进程之间的关系。 父进程被列在首位,子进程在其下方缩进。

6. 显示命令的绝对路径

语法:htop -c

说明:显示每个进程正在运行的命令的绝对路径。

示例:htop -c

输出:

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
1234 john       20   0 1024M  100M 9000 S  5.0 10.0  0:00.91 /usr/bin/app
5678 alice      20   0 2048M  200M 9000 S 10.0 20.0  0:01.23 /opt/custom/heavyapp

该输出显示了每个进程正在运行的命令的完整绝对路径,提供了有关可执行文件位置的更详细信息。

更多 Linux 命令

下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:

目录操作 rmdir · cd · pwd · exa · ls
文件操作 cat · cp · dd · less · touch · ln · rename · more · head
文件系统操作 chown · mkfs · locate
网络 ping · curl · wget · iptables · mtr
搜索和文本处理 find · grep · sed · whatis · ripgrep · fd · tldr
系统信息和管理 env · history · top · who · htop · glances · lsof
用户和会话管理 screen · su · sudo · open

此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。

评论留言