linux中top、htop监控工具命令详解

文章目录

top 命令概述

top 命令是 Unix 和 Linux 系统中一个强大的监控工具 ,可以显示系统中运行的所有进程及其相关的实时信息 。它的输出会动态更新,通常每隔几秒刷新一次。

如何使用 top 命令

在终端中输入 top 并按下回车键即可启动 top 命令:

powershell 复制代码
top

top 命令输出解释

当你运行 top 命令时,会看到以下输出:

powershell 复制代码
top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top
...

各部分解释

系统信息

powershell 复制代码
top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
  • 12:34:56:当前时间。
  • up 1 day, 3:23:系统运行时间(已运行 1 天 3 小时 23 分钟)。
  • 2 users:当前登录的用户数。
  • load average:系统的负载均衡(1 分钟、5 分钟和 15 分钟的平均负载)。

任务信息

powershell 复制代码
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
  • 123 total:总任务数。
  • 1 running:运行中的任务数。
  • 122 sleeping:休眠中的任务数。
  • 0 stopped:停止的任务数。
  • 0 zombie:僵尸任务数。

CPU 使用信息

powershell 复制代码
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
  • 1.0 us:用户空间占用的 CPU 百分比。
  • 0.5 sy:内核空间占用的 CPU 百分比。
  • 0.0 ni:改变过优先级的进程占用的 CPU 百分比。
  • 98.0 id:空闲 CPU 百分比。
  • 0.5 wa:等待 I/O 操作的 CPU 百分比。
  • 0.0 hi:硬件中断占用的 CPU 百分比。
  • 0.0 si:软件中断占用的 CPU 百分比。
  • 0.0 st:被偷取的 CPU 百分比(虚拟化环境中)。

内存使用信息

powershell 复制代码
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem
  • 7988.2 total:总内存(MiB)。
  • 1234.5 free:空闲内存(MiB)。
  • 2345.6 used:已用内存(MiB)。
  • 4408.1 buff/cache:缓存内存(MiB)。
  • 2048.0 total:总交换区(Swap,MiB)。
  • 2000.0 free:空闲交换区(MiB)。
  • 48.0 used:已用交换区(MiB)。
  • 5123.6 avail Mem:可用内存(MiB)。

进程信息

powershell 复制代码
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top
  • PID:进程 ID。
  • USER:进程所有者。
  • PR:优先级。
  • NI:nice 值(影响优先级)。
  • VIRT:虚拟内存使用量(KiB)。
  • RES:常驻内存使用量(KiB)。
  • SHR:共享内存使用量(KiB)。
  • S:进程状态(D=不可中断的休眠状态,R=运行,S=休眠,T=跟踪/停止,Z=僵尸进程)。
  • %CPU:进程使用的 CPU 百分比。
  • %MEM:进程使用的内存百分比。
  • TIME+:进程启动以来的累计 CPU 时间。
  • COMMAND:启动进程的命令。

top 命令的常用交互操作

在运行 top 时,你可以使用以下键盘快捷键进行交互操作:

  • h:显示帮助。
  • q:退出 top。
  • z:切换颜色显示模式。
  • x:高亮显示排序列。
  • b:切换粗体显示。
  • M:按内存使用排序。
  • P:按 CPU 使用排序。
  • T:按累计时间排序。
  • k:终止一个进程(需要输入 PID)。
  • r:重新调整一个进程的优先级(需要输入 PID)。

top 命令的常用选项

你也可以在命令行中使用各种选项来启动 top 命令:

  • -b:以批处理模式运行,适合将输出重定向到文件或其他命令。
  • -n:指定更新的次数,通常与 -b 选项结合使用。
  • -d:指定刷新间隔时间(秒)。

例如,将 top 输出重定向到文件中:

powershell 复制代码
top -b -n 1 > top_output.txt

查看每个CPU使用情况

在 top 命令运行过程中,按下数字键 1 会显示或隐藏每个 CPU 核心的使用情况。默认情况下,top 命令显示所有 CPU 核心的整体使用情况。如果按下 1 键,top 将切换为显示每个独立 CPU 核心的使用情况。

示例说明

默认视图

运行 top 命令后,你通常会看到如下所示的输出,这里显示的是所有 CPU 核心的综合使用情况:

powershell 复制代码
top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

按下 1 键后的视图

按下 1 键后,top 命令会显示每个独立 CPU 核心的使用情况,如下所示:

powershell 复制代码
top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.5 us,  0.3 sy,  0.0 ni, 99.0 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.0 us,  0.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.8 us,  0.4 sy,  0.0 ni, 98.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  1.2 us,  0.6 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

在这个视图中,每个 CPU 核心的使用情况都单独列出,使得你可以更详细地查看每个核心的负载情况。

如何使用

启动 top 命令:在终端中输入 top 并按下回车键。

按下 1 键:在 top 命令运行过程中,按下数字键 1,即可切换到显示每个独立 CPU 核心的使用情况。

再次按下 1 键:如果想恢复到默认视图,再次按下 1 键即可。

htop和top之间比较

htop 和 top 都是用于监控系统进程和资源使用情况的工具,但 htop 提供了更丰富的功能和更友好的用户界面。以下是 htop 和 top 的主要区别:

用户界面和可用性

top

  • 界面:top 使用简单的文本界面,默认情况下显示系统资源使用情况和进程列表。
  • 交互性:top 提供了一些基本的交互功能,如排序、终止进程和调整进程优先级等,但需要记住特定的键盘快捷键。
  • 信息显示:默认显示的列有限,需要手动配置才能显示更多信息。

htop

  • 界面:htop 提供了更友好的用户界面,使用颜色和图形化条形图来表示 CPU、内存和交换空间的使用情况。
  • 交互性:htop 提供更丰富的交互功能,用户可以通过箭头键轻松导航和选择进程,支持鼠标操作。
  • 信息显示:默认显示更多有用的信息,用户可以方便地自定义显示列。

功能和特性

top

  • 功能:top 提供了基本的进程监控和管理功能,如排序、过滤和终止进程。
  • 配置:可以通过命令行选项和交互式命令进行一些基本的配置,但不如 htop 直观。

htop

  • 功能:htop 提供了更多的高级功能,如:
    • 垂直和水平滚动:可以查看所有进程和完整的命令行参数。
    • 按树状结构显示进程:方便查看进程的父子关系。
    • 搜索功能:可以快速查找特定进程。
    • 高度可定制的界面:用户可以选择显示哪些列,以及列的顺序。
    • 快速终止或调整多个进程:使用快捷键或鼠标操作更为便捷。
  • 配置:支持用户配置文件,保存用户的偏好设置,启动时自动应用。

安装

top:通常预装在大多数 Unix/Linux 系统中。

htop:需要手动安装,可以通过包管理器进行安装,如:

powershell 复制代码
sudo apt-get install htop   # Debian/Ubuntu
sudo yum install htop       # CentOS/RHEL
sudo dnf install htop       # Fedora
brew install htop           # macOS (Homebrew)

示例比较

top 示例界面

powershell 复制代码
top - 12:34:56 up 1 day,  3:23,  2 users,  load average: 0.01, 0.05, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 98.0 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  7988.2 total,  1234.5 free,  2345.6 used,  4408.1 buff/cache
MiB Swap:  2048.0 total,  2000.0 free,    48.0 used.  5123.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 user      20   0  195948  25284   4656 S   0.3  1.2   0:23.45 python3
 5678 user      20   0  101832   8464   1536 S   0.1  0.1   0:00.56 sshd
 9101 user      20   0   62912   3784   1200 R   0.0  0.1   0:00.01 top

htop 示例界面

powershell 复制代码
  1  [||                                         1.0%]   Tasks: 123, 1 running
  2  [|||                                        2.0%]   Load average: 0.01 0.05 0.09
  3  [||                                         1.5%]   Uptime: 1 day, 3:23
  4  [|                                          0.5%]
Mem[ 2345/7988MB]  [|||||||||||||||||||||||||23.4%]
Swp[   48/2048MB]  [|                           2.3%]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
 1234 user       20   0 195948 25284  4656 S  0.3  1.2  0:23.45 python3
 5678 user       20   0 101832  8464  1536 S  0.1  0.1  0:00.56 sshd
 9101 user       20   0  62912  3784  1200 R  0.0  0.1  0:00.01 htop

总结

  • 用户界面:htop 提供更直观和用户友好的界面,支持鼠标操作和颜色显示。
  • 功能性:htop 提供更多高级功能和更强的交互性,适合需要频繁监控和管理进程的用户。
  • 安装和配置:top 通常预装在系统中,htop 需要手动安装,但配置更灵活。

通过以上比较,你可以更好地理解 top 和 htop 的区别,并根据需要选择合适的工具进行系统监控和管理。

小结

top 命令是一个非常强大的工具,可以帮助系统管理员和开发人员监控系统性能、发现问题并进行优化。在你的博客中,可以通过示例和解释,帮助读者更好地理解和使用 top 命令。

相关推荐
筱源源10 分钟前
Kafka-linux环境部署
linux·kafka
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Ven%2 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
TeYiToKu3 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws3 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi3 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT3 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei4 小时前
linux centos 安装redis
linux·redis·centos