Linux 系统监控 top命令详解

Linux系统中,top命令是常用的性能监控工具之一,可以实时获取系统各项资源的使用情况,包括CPU、内存、磁盘IO等等。

1. top命令概述

top命令是一个基于终端的任务管理器,提供了实时系统监控和负载分析功能。它显示系统中最重要的进程,并且动态地更新进程信息。在默认情况下,top命令按照CPU使用率排序,并且持续更新,可以使用快捷键来控制数据的显示和操作。

2. top命令语法

top命令的语法如下所示:

top [ -d delay ] [ -n count ] [ -p pidlist ] [ -u username ]

参数说明:

  • -d delay:表示更新间隔时间,默认值为3秒。
  • -n count:表示更新次数,默认值为无限制。
  • -p pidlist:指定要监控的进程ID列表。
  • -u username:指定要监控的用户名。

3. top命令界面结构

top命令的界面由多个区域组成,包括标题栏、进程列表、统计信息等等。

标题栏

顶部为标题栏,用于显示一些基本信息和帮助文档,如下图所示:

top - 14:15:16 up 7 days, 23:04,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s): 15.8 us,  5.5 sy,  0.0 ni, 77.8 id,  1.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16073632 total, 14421024 free,   414040 used,  1210568 buff/cache
KiB Swap:  8388604 total,  8302784 free,    85820 used. 15063168 avail Mem
  • 当前时间:14:15:16
  • 系统运行时间:7天23小时4分钟
  • 用户数:3
  • 平均负载:分为1分钟、5分钟和15分钟的平均负载,表示当前系统的运行负荷。
  • 进程总数:123,其中包括正在运行的、睡眠的、已停止的和僵尸进程。
  • CPU使用率:按照用户态(us)、内核态(sy)、空闲(id)、等待IO(wa)、硬中断(hi)、软中断(si)和虚拟化(st)等指标来显示各个状态下CPU使用率的百分比。
  • 内存使用情况:显示物理内存和交换空间的使用情况。

进程列表

下方为进程列表,显示了当前系统中最耗费资源的进程信息,包括进程ID、CPU使用率、内存使用率、进程所占内存、用户、进程名称等信息。默认情况下,进程根据CPU使用率排序,可以通过按键快速地切换排序方式。下面是部分列的含义:

  • PID:进程ID。
  • USER:进程所有者。
  • %CPU:进程占用CPU的百分比。
  • %MEM:进程占用内存的百分比。
  • TIME+:进程使用的CPU时间总计。
  • COMMAND:进程所属的命令行或程序名。

统计信息

最底部为统计信息,包括一些系统信息和操作提示,如下图所示:

942 processes: 924 sleeping, 13 running, 1 zombie, 4 stopped
%Cpu(s):  3.5 us,  1.7 sy,  0.0 ni, 94.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16073632 total, 14557416 free,   327764 used,  1160452 buff/cache
KiB Swap:  8388604 total,  8388604 free,        0 used. 15042596 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  2897 root      20   0 1682176 298728  61704 S  2.0  1.9   7:54.83 java
  1273 root      20   0 8232100   6.0g   6.0g S  1.0 39.9  21:48.23 java
     1 root      20   0 1283968  10376  7200 S  0.0  0.1   0:05.80 systemd
  • 总进程数:包括正在运行、睡眠、僵尸以及停止状态的所有进程数量。
  • CPU使用率:与标题栏相同,用于显示各个状态下的CPU使用率。
  • 内存使用情况:与标题栏相同,显示实际内存和交换内存的使用状况。

4. top命令操作

在top命令中,有一些常用的操作帮助我们快速地查看信息或者执行某些操作。

排序方式

top命令主要根据CPU使用率排序,默认情况下,按照该列从高到低排序。可以使用 -o 参数来改变排序方式,例如:

top -o %MEM

上面的命令表示以内存使用率为排序关键字从高到低排序。

进程过滤

如果只想查看某个用户的进程,则可以使用 -u 参数,例如:

top -u root

上面的命令表示只显示root用户的进程。

如果只想查看某个进程的信息,则可以使用 -p 参数,例如:

top -p 1234

上面的命令表示只显示进程ID为1234的进程。

快捷键

在top命令中,还有一些常用的快捷键来帮助我们操作。

  • k:终止指定进程。
  • r:修改指定进程的优先级。
  • H:显示进程内部的线程。
  • f:向 top 命令中添加或删除要显示的字段。
  • o:更改排序方式。
  • q:退出 top 命令。
  • h:显示 top 命令帮助文档。
  • A:按下该键可按照 CPU 占用率进行排序。
  • M:按下该键可按照内存占用率进行排序。
  • T:按下该键可切换显示的信息,如 CPU 占用率、内存使用情况等。
  • W:按下该键可将当前的 top 配置保存到文件中,避免以后需要手动重复配置。
  • c:按下该键可切换显示命令行选项或进程的完整命令行。
  • i:按下该键可显示或隐藏闲置进程。
  • n:按下该键可设置要显示的进程数量。
  • m:按下该键可切换显示内存使用情况的单位(如 KB、MB 等)。
  • S:按下该键可切换显示进程状态(如 D、S、R 等)。
  • V:按下该键可以显示关于 top 命令版本和作者等信息。
  • z:按下该键可切换颜色模式,使显示更易读。
  • 1:按下该键可切换到单核心模式,只显示一个 CPU 核心的相关信息。
  • 0(零):按下该键可切换回多核心模式,显示所有 CPU 核心的相关信息。
  • s:按下该键可改变两次刷新之间间隔的时间。
  • &:按下该键可根据进程 ID (PID)或用户(USER)来筛选要显示的进程,可以输入多个条件,条件之间用逗号分隔。

更多快捷键可以通过按下 ? 键来查看。

你可能感兴趣的:(Linux,linux,服务器,运维)