简述 linux 之 top 命令

windows 通过任务管理器查看系统进程,linux 则是通过 top 命令来监听 linux 的系统状况。

直接上图,理解怎么去看懂这个图片基本就入门了。

image.png

从上往下看,前五行都有特殊的含义,从第六行往下就是每个进程的情况

第一行:系统运行时间和平均负载(top:)

image.png
  • 12:28:09 -- 当前的系统时间。
  • up 0 days, 2:52 -- 从本次开机到现在经过的时间。
  • 1 user -- 当前有几个用户登录到该机器。
  • load average:0.00,0.01,0.05 -- 系统1分钟、5分钟、15分钟内的平均负载值。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:任务,进程(Tasks:)

image.png
  • 168 total -- 共有168 个进程。
  • 2 running -- 2 个正在运用的进程。
  • 166 sleeping -- 166 个睡眠进程。
  • 0 stopped -- 0 个停止进程。
  • 0 zombie -- 0 个僵尸进程。

第三行:CPU 使用状态

image.png
  • 0.3 us -- 用户空间占用CPU的百分比。
  • 0.3 sy -- 内核空间占用CPU的百分比。
  • 0.0 ni -- 改变过优先级的进程占用CPU的百分比。
  • 99.3 id -- 空闲CPU百分比。
  • 0.0 wa -- IO等待占用CPU的百分比。
  • 0.0 hi -- 硬中断(Hardware IRQ)占用CPU的百分比。
  • 0.0 si -- 软中断(Software Interrupts)占用CPU的百分比。
  • 0.0 st -- 当Linux系统是在虚拟机中运行时,等待CPU资源的时间(steal time)占比。

第四,五行:内存的使用状态(Mem/Swap)

image.png

第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

Mem(使用kib单位)

  • 995684 total — 物理内存总量(995M)
  • 70532 free — 空闲内存总量(70M)
  • 579816 used — 使用中的内存总量(579M)
  • 345336 buffers — 缓存的内存量 (345M)
    Swap(kib单位)
  • 2097148 total — 交换区总量(2097M)
  • 2061376 free — 空闲交换区总量(2061M)
  • 35772 used — 使用的交换区总量(35M)
  • 224988 cached — 缓冲的交换区总量(224M)

剩下就是每个进程的使用状况:

image.png

从左到右看,

  • PID:进程ID,进程的唯一标识符
  • USER:进程所有者的实际用户名。
  • PR:进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
  • NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
  • VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
  • S:这个是进程的状态。它有以下不同的值:
    D - 不可中断的睡眠态。
    R – 运行态
    S – 睡眠态
    T – 被跟踪或已停止
    Z – 僵尸态
  • %CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
  • %MEM:进程使用的可用物理内存百分比。
  • TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
  • COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)

学习的过程,都是从无 到 有, 从有 到 精通,下面一篇文章是对 top 命令的详解,写的非常好,想了解更多的请点击:https://www.cnblogs.com/zhoug2020/p/6336453.html

你可能感兴趣的:(简述 linux 之 top 命令)