top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令展示的信息众多,初学者可能不能够快速掌握所有信息概况,以下对top命令基础进行简单讲解。

top

在使用了top命令后会出现以下数据样式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
top - 01:05:24 up 9 min,  0 users,  load average: 0.00, 0.04, 0.05
Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.3 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 7990064 total, 7001532 free, 698000 used, 290532 buff/cache
KiB Swap: 8257532 total, 8257532 free, 0 used. 7043352 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1620 root 20 0 699732 38824 15664 S 0.7 0.5 0:02.71 node
1655 root 20 0 1023288 124372 21240 S 0.7 1.6 0:05.07 node
1398 root 20 0 157084 6040 4352 S 0.3 0.1 0:00.33 sshd
1474 root 20 0 954828 60136 18520 S 0.3 0.8 0:02.79 node
1 root 20 0 193704 6772 4140 S 0.0 0.1 0:00.95 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kworker/0:0
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/0

系统概况

首先是第一行,内容是:

1
top - 01:05:24 up 9 min,  0 users,  load average: 0.00, 0.04, 0.05

内容分别是:

  • top : 名称
  • 01:05:24 : 系统当前时间
  • up 9 min : 用户登录时间
  • 0 users : 当前登录用户数量
  • load average: 0.00, 0.04, 0.05 : 系统负载 一分钟/五分钟/十五分钟 三个时间段的统计

注意 : 对于单CPU的机器而言,1.00已经是满负载了

进程状态

然后是第二行:

1
Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie

内容分别是:

  • Tasks: 138 total : 进程任务总数138个
  • 1 running : 运行进程1个
  • 137 sleeping : 137个进程正在睡眠状态
  • 0 stopped : 停止进程0个
  • 0 zombie : 僵尸进程0个

CPU 状态

接着第三行:

1
%Cpu(s):  0.1 us,  0.3 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • 0.1 us : 用户空间
  • 0.3 sy : 内核空间
  • 0.0 ni : 用户定义优先级
  • 99.6 id : 空闲
  • 0.0 wa : 等待io
  • 0.0 hi : 硬中断
  • 0.0 si : 软中断
  • 0.0 st : 虚拟机

以上数字含义为百分比

内存和Swap交换区状态

紧接第四行与第五行:

1
2
KiB Mem :  7990064 total,  7001532 free,   698000 used,   290532 buff/cache
KiB Swap : 8257532 total, 8257532 free, 0 used. 7043352 avail Mem

KiB Mem为物理内存区,KiB Swap是交换区,从左至右分别是总量、空闲、已经使用、(内核缓存用量与可用内存)

最后内容

紧接着是关于系统中正在运行的进程信息,信息title如下:

1
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  • PID : 进程id
  • USER : 进程归属者
  • PR : 优先级
  • NI : nice值
  • VIRT : 虚拟内存
  • RES : 无力内存
  • SHR S %CPU %MEM : 共享内存/CPU/内存
  • TIME+ COMMAND : CPU总时间/命令

常用快捷键

  • shift+e : 切换内存显示模式(可重复按键切换)
  • z : 切换是否彩色显示(可重复按键切换)
  • m : 切换内存显示模式(可重复按键切换)
  • e : 切换底部进程中单位的显示模式(可重复按键切换)
  • b : 切换高亮选中(可重复按键切换)
  • W : 把当前配置保存到文件中,下次启动top会使用当前的配置
  • h : 进入帮助菜单 (进入菜单后,可按ESC或q退出帮助菜单)
  • q : 退出top命令