【linux命令】top

120 阅读3分钟

【linux命令】top

输入下面的命令后

top

屏幕显示为

top - 09:41:28 up 413 days, 17:22,  1 user,  load average: 0.23, 0.52, 0.42
Tasks: 172 total,   1 running, 171 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.9 us,  2.7 sy,  0.0 ni, 93.2 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880184 total,   151284 free,  2251100 used,  1477800 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1338580 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
23737 root      20   0 1109148 260852  21516 S   3.7  6.7 743:07.31 kube-apiserver
11479 root      20   0 2321976  73184   3840 S   1.7  1.9   5748:15 dockerd
24122 root      20   0 2334848  70512  17308 S   1.7  1.8 486:27.46 kubelet
...

top的面板主要有两部分,第一部分显示系统的运行状态,第二部分显示系统中进程的状态

系统运行状态

第一行

展示了当前系统的基本信息

top - 09:41:28 up 413 days, 17:22,  1 user,  load average: 0.23, 0.52, 0.42

分别是

  • 09:41:28 当前系统时间
  • up 413 days, 17:22 当前系统运行总时间
  • 1 user 当前系统中的登陆用户个数
  • load average: 0.23, 0.52, 0.42 当前系统 最近1分钟 5分钟 15分钟 的CPU负载
    • 如果是单核CPU,则 1.0 表示 CPU 100%占用
    • 这个数字如果大于核心数,则表示CPU负载高

第二行

展示了当前系统的进程的统计信息

Tasks: 172 total,   1 running, 171 sleeping,   0 stopped,   0 zombie
  • 172 total 总进程数
  • 1 running 正在运行的进程数
  • 171 sleeping 睡眠的进程数
  • 0 stopped 正在停止的进程数
  • 0 zombie 僵尸进程数

第三行

展示CPU信息

%Cpu(s):  3.9 us,  2.7 sy,  0.0 ni, 93.2 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
  • 3.9 us, (user) 用户模式占用的 CPU 百分比
  • 2.7 sy, (system) 系统模式占用的 CPU 百分比
  • 0.0 ni, 改变过优先级的用户进程占用的 CPU 百分比
  • 93.2 id, (idle) 空闲 CPU 占用的 CPU 百分比
  • 0.2 wa, (wait) 等待输入/输出的进程占用的 CPU 百分比
  • 0.0 hi, (hard interupt) 硬中断请求服务占用的 CPU 百分比
  • 0.0 si, (soft interupt) 软中断请求服务占用的 CPU 百分比
  • 0.0 st (steal time) 虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比

第四行

展示了内存信息(单位 KB)

KiB Mem :  3880184 total,   151284 free,  2251100 used,  1477800 buff/cache
  • 3880184 total 物理内存的总量
  • 151284 free 己经使用的物理内存数量
  • 2251100 used 空闲的物理内存数量
  • 1477800 buff/cache 作为缓冲的内存数量

第五行

展示了交换区的信息(单位 KB)

KiB Swap:        0 total,        0 free,        0 used.  1338580 avail Mem
  • 0 total, 交换分区(虚拟内存)的总大小
  • 0 free, 空闲交换分区的大小
  • 0 used. 已经使用的交换分区的大小
  • 1338580 avail Mem 可使用的内存大小

进程状态

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
23737 root      20   0 1109148 260852  21516 S   3.7  6.7 743:07.31 kube-apiserver

各个字段的含义如下:

  • PID: 进程的 ID。
  • USER: 该进程所属的用户。
  • PR: 优先级,数值越小优先级越高。
  • NI: 优先级,数值越小优先级越高。
  • VIRT: 该进程使用的虚拟内存的大小,单位为 KB。
  • RES: 该进程使用的物理内存的大小,单位为 KB。
  • SHR: 共享内存大小,单位为 KB。
  • S: 进程状态。
  • %CPU: 该进程占用 CPU 的百分比。
  • %MEM: 该进程占用内存的百分比。
  • TIME+: 该进程共占用的 CPU 时间。
  • COMMAND: 进程的命令名