Htop - Linux交互式进程查看器
介绍
系统监控是Linux系统管理的重要组成部分,因为它可以清晰地概述系统资源的使用情况以及在Linux系统上运行的各种进程和应用程序的性能。许多工具都提供此功能,但Htop因其卓越的功能和用户友好的界面而脱颖而出。Htop是一个交互式进程查看器和系统监视器,它取代了大多数Linux发行版中较旧的“top”实用程序。
Htop提供系统上运行进程的实时、彩色编码和图形化表示,顶部显示CPU、内存和交换空间的使用情况。在本文中,我们将深入探讨Htop的细微之处,通过各种示例演示其使用方法和应用。
Htop的安装
要在Ubuntu或任何其他基于Debian的发行版上安装Htop,可以使用以下命令:
sudo apt−get install htop
对于Red Hat或CentOS:
sudo yum install htop
对于Fedora:
sudo dnf install htop
安装完成后,只需在终端中输入htop即可启动Htop。
探索Htop界面
首次运行Htop时,您将看到一个包含大量信息的彩色界面。顶部部分显示有关处理器、内存和交换空间使用情况的统计信息。屏幕的其余部分显示按CPU使用率排序的当前运行进程列表。
屏幕上的主要信息包括:
PID - 进程ID
USER - 拥有该进程的用户
PRI - 进程的优先级
NI - 进程的nice值
VIRT - 进程使用的虚拟内存
RES - 进程使用的驻留内存
SHR - 进程的共享内存
S - 进程的状态
CPU% - 任务已使用的CPU时间的百分比
MEM% - 任务已使用的RAM的百分比
TIME+ - 进程运行的总时间
Command - 启动该进程的命令
使用Htop导航和管理进程
Htop优于top的一大优势在于,您可以垂直和水平滚动以查看所有进程和完整的命令行。您可以使用向上和向下箭头选择进程,使用向左和向右箭头导航下部面板。
要在Htop中终止进程,请使用箭头键移动到该进程,然后按F9或“k”,然后按Enter键向进程发送SIGTERM信号。
要更改进程的优先级(也称为“renicing”),请选择该进程,然后按F7增加nice值(使其在调度方面不太有利)或按F8降低nice值(使其在调度方面更有利)。
自定义Htop
您可以通过按F2或“S”来自定义Htop。这将调出设置菜单,您可以在其中配置仪表、显示选项,甚至选择Htop使用的颜色。可以通过导航到“完成”按钮并按Enter键来保存更改以供将来会话使用。
过滤和搜索进程
使用Htop,您可以通过按F4或“”然后键入要过滤的文本来过滤进程列表。按F3或“/”将允许您逐步搜索进程。
例如,要过滤或搜索“bash”进程,请在按F4或F3后键入“bash”,然后按Enter键。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 3091 root 20 0 5488 1660 1280 S 0.0 0.1 0:00.02 bash 3095 root 20 0 5488 1664 1284 S 0.0 0.1 0:00.01 bash 3101 root 20 0 5488 1668 1288 S 0.0 0.1 0:00.01 bash
排序进程
默认情况下,Htop按CPU使用率对进程进行排序。但是,您可以通过按F6或“>”键来更改排序标准。将出现一个菜单,您可以选择按PID、USER、CPU%、MEM%、TIME+等排序。
树状视图
Htop允许您以树状视图查看进程,该视图显示进程之间的父子关系。要切换到树状视图,请按F5或“t”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 3091 root 20 0 5488 1660 1280 S 0.0 0.1 0:00.02 |-bash 3095 root 20 0 5488 1664 1284 S 0.0 0.1 0:00.01 |-bash 3101 root 20 0 5488 1668 1288 S 0.0 0.1 0:00.01 | `-bash
仅显示特定用户的进程
您可以根据特定用户过滤进程。例如,如果您只想显示由用户“root”拥有的进程,则可以按F4或“”然后键入“root”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]3
查看在特定CPU上运行的进程
Htop允许您查看在特定CPU上运行的进程。按F2进入设置菜单,转到“显示选项”,然后选择“详细CPU时间”。通过选择“完成”并按Enter键退出设置菜单。这将显示详细的CPU使用情况统计信息,按用户/系统时间以及按各个CPU(如果您的系统有多个内核)细分。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running CPU0[||||| 11.7%] CPU1[||| 7.4%] CPU2[||||| 12.6%] CPU3[|| 4.6%] Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]
在Htop中跟踪进程
Strace是一个调试实用程序,它监视特定程序的系统调用和信号。它对于调试和了解程序如何与系统的内核交互非常有用。您可以通过突出显示进程并按“s”来直接从Htop启动strace。
请注意,您可能需要以root身份运行Htop才能使用此功能,并且您的系统上必须安装strace。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 /sbin/init
按“s”后,将打开一个新的终端窗口,显示所选进程的strace输出。
基于层次结构显示进程
您还可以基于父子关系查看进程。这对于了解进程之间的关系非常有用。要查看此信息,请按F5或“t”。
示例
[htop 1.0.1] Tasks: 64, 174 thr; 1 running Mem[||||||||||| 1880/7976MB] Swp[ 0/0MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 root 20 0 10.6M 6080 3984 S 0.0 0.0 0:01.94 |-/sbin/init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 |-[kthreadd] 3 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 | \[kworker/0:0H]
这些只是您可以使用Htop执行的一些示例。它是一个多功能工具,具有许多用于监控和管理进程的选项,使其成为任何Linux用户的工具包中必不可少的工具。
结论
Htop是Linux管理员不可或缺的工具,它提供系统性能的详细实时概述。其色彩鲜艳、用户友好的界面,加上能够终止、调整进程优先级以及对特定任务进行排序、过滤或搜索的能力,使其成为优于传统“top”实用程序的首选工具。使用Htop,您可以获得系统的全面交互式视图,使故障排除和系统资源分配变得轻而易举。