3. top/htop 命令

top 命令

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

命令格式

top [选项]

示例:

weimz@mzstudio:~$ top
top - 13:32:09 up  3:53,  1 user,  load average: 0.43, 0.23, 0.08
任务: 325 total,   2 running, 323 sleeping,   0 stopped,   0 zombie
%Cpu(s): 25.9 us, 29.6 sy,  0.0 ni, 40.7 id,  0.0 wa,  0.0 hi,  3.7 si,  0.0 st
MiB Mem :   7376.6 total,   2924.9 free,   1420.6 used,   3331.5 buff/cache    
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.   5956.0 avail Mem 

 进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND 
   2956 weimz     20   0 3910064 263292 155916 S  42.9   3.5   4:52.49 gnome-+ 
   9708 weimz     20   0 1713392 250040 127816 R  21.4   3.3   0:02.13 ptyxis  
   9759 weimz     20   0   22132   6056   3952 R  21.4   0.1   0:00.05 top     
   9651 root      20   0       0      0      0 I   7.1   0.0   0:00.13 kworke+ 
      1 root      20   0   26168  17404  11812 S   0.0   0.2   0:11.27 systemd 
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.05 kthrea+ 
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_w+ 
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworke+ 
...

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

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

信息
说明
13:32:09
当前系统时间(24小时制)。
up 3:53
系统已运行时间(up 表示运行时长,这里是 3 小时 53 分钟)。
1 users
当前登录系统的用户会话数(通过 who 命令可查看具体用户)。
load average: 0.43, 0.23, 0.08
系统负载平均值(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 命令安装)。

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

命令格式

htop [选项]

示例

weimz@mzstudio:~$ htop
    0[|||                         6.3%] Tasks: 123, 385 thr, 214 kthr; 1 runni
    1[|                           1.2%] Load average: 0.25 0.10 0.07 
  Mem[|||||||||||||||      1.10G/7.20G] Uptime: 01:08:16
  Swp[                        0K/4.00G]

  [Main] [I/O]
    PID USER       PRI  NI  VIRT   RES   SHR S  CPU%▽MEM%   TIME+  Command
   5850 weimz       20   0 20316  5600  4076 R   5.0  0.1  0:01.66 htop
   3015 weimz       20   0 3789M  249M  146M S   1.2  3.4  2:07.35 /usr/bin/gnom
   3061 weimz        5 -15 3789M  249M     0 S   0.6  3.4  0:20.17 /usr/bin/gnom
    ...

练习:

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