3. top/htop 命令

top 命令

top 命令是 Linux 中用于实时监控系统进程和资源占用的交互式工具。他提供内存、CPU等的实时占用情况。

命令格式

top [选项]

示例:

weimingze@mzstudio:~$ top
top - 16:55:22 up  4:02,  2 users,  load average: 0.01, 0.11, 0.15
Tasks: 282 total,   1 running, 281 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :   3866.7 total,   1982.1 free,    855.7 used,   1286.0 buff/cache
MiB Swap:   3866.0 total,   3866.0 free,      0.0 used.   3011.0 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   5447 weiming+  20   0   23604   5748   3572 R   1.0   0.1   0:00.07 top
   4845 root      20   0       0      0      0 I   0.3   0.0   0:01.46 kworker+
   4863 root      20   0       0      0      0 I   0.3   0.0   0:01.88 kworker+
      1 root      20   0   23348  14352   9488 S   0.0   0.4   0:06.69 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.06 kthreadd
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_wo+
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+
    ...

当输入 q 键时退出 top 监控。

上述显示的顶部 5 行信息的内容如下:

信息
说明
16:55:22
当前系统时间(24小时制)。
up 4:02
系统已运行时间(up 表示运行时长,这里是 4 小时 2 分钟)。
2 users
当前登录系统的用户会话数(通过 who 命令可查看具体用户)。
load average: 0.01, 0.11, 0.15
系统负载平均值(1分钟、5分钟、15分钟的平均值):数值表示平均活跃进程数,若数值接近或超过CPU核心数,表示系统过载。
Tasks
进程数统计(总数、运行、睡眠、停止、僵尸状态的进程数等)。
%Cpu(s)
CPU 使用情况(用户态 us、内核态 sy、低优先级进程 ni、空闲 id 等、I/O 等待时间 wa、硬件中断处理时间 hi、软件中断处理时间 si、被虚拟化层偷走的时间 st)。
Mem/Swap
物理内存和交换分区使用情况。

进程列表信息部分的内容如下:

信息
说明
PID
进程 ID。
USER
进程所有者。
PR
进程的优先级(Priority,内核动态调整)。
NI
Nice 值(用户态优先级调整)。
VIRT
进程占用的虚拟内存总量(单位 KB/MB)。
RES
进程实际使用的物理内存(单位 KB/MB)。
SHR
进程共享内存(Shared Memory,如库文件)。
%CPU
进程占用的 CPU 百分比。
%MEM
进程占用的 物理内存百分比(相对于总内存)。
S
进程状态(R=运行, S=睡眠, Z=僵尸等)。
TIME+
累计 CPU 占用时间。

htop 命令

htop 命令是 top 命令的增强版。他能够更直观显示 CPU 每个核的状态,并提供彩色的界面显示。

安装 htop 命令(Ubuntu Linux 没有预装 htop 命令,需要使用 apt 命令安装)。

weimingze@mzstudio:~$ sudo apt install htop
...

命令格式

htop [选项]

示例

weimingze@mzstudio:~$ htop
    0[||                          3.2%] Tasks: 95, 231 thr, 184 kthr; 1 runnin
    1[                            0.0%] Load average: 0.09 0.04 0.07
  Mem[|||||||||||||||||     610M/3.78G] Uptime: 04:35:54
  Swp[                        0K/3.78G]

  [Main] [I/O]
    PID USER       PRI  NI  VIRT   RES   SHR S  CPU%▽MEM%   TIME+  Command
   5520 weimingze   20   0 20184  4588  3436 R   3.9  0.1  0:00.50 htop
      1 root        20   0 23348 14352  9488 S   0.0  0.4  0:06.79 /sbin/init sp
    380 root        19  -1 67020 18524 17244 S   0.0  0.5  0:01.53 /usr/lib/syst
    ... 

练习:

  1. 使用 top 命令查看系统资源使用情况的信息。
  2. top 界面,使用 h 快捷键查看帮助信息。然后输入 qESC 按键退出帮助信息。
  3. top 界面按 m 键,按内存使用率排序并查看信息。
  4. 使用 htop 命令查看系统资源使用情况的信息。
  5. htop 界面,使用 h 快捷键查看帮助信息。