NOTE

5.2 top

1. 使用 - 敲下h查询帮助菜单 - - 查看某进程CPU使用率 2. 输出 3. 解析 - top - 13:57:40 up 1:47, 0 users, - 13:57:40:当前系统时间,可以用date获取 - up 1:47:此系统已经连续运行的时间,可以用last reboot获取系统

Operating System / Linux创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 使用

top
  • 敲下h查询帮助菜单

  • 查看某进程CPU使用率

 top -p `pgrep -f webcast_gorm_encryption`

2. 输出

3. 解析

  • top - 13:57:40 up 1:47, 0 users,
    • 13:57:40:当前系统时间,可以用date获取
    • up 1:47:此系统已经连续运行的时间,可以用last reboot获取系统最后一次重启的时间
    • 0 users:系统当前登录的用户数,可以用who获取
  • load average: 0.52, 0.58, 0.59
    • 前1、5、15分钟系统的平均负载
      • 0.59表示从当前时间到过去的15分钟内大概有0.59个进程(线程)在等待CPU资源。换句话说就是41%的时间CPU是闲着的
    • 这个值是针对单核处理器制定的,如果是多核的,需要除以CPU核数
      • grep 'model name' /proc/cpuinfo | wc -l可获取CPU核数
      • 也可以在top命令下敲下1获取CPU核数
    • 单核的负载应该在1一下,一半0.7以下算正常
  • Tasks: 17 total, 1 running, 16 sleeping, 0 stopped, 0 zombie
    • 17 total:系统现在共有17个进程
    • 1 running:处理运行中的进程有1个
      • 运行状态:进程在运行或者在运行队列中
    • 16 sleeping:处于休眠中状态的进程有16个
      • 休眠状态:进程在等待事件完成
    • 0 stopped:处于停止中状态的进程有16个
      • 停止状态:进程接收到STOP信号
    • 0 zombie:处于僵尸中状态的进程有16个
      • 僵尸状态:如果子进程退出,父进程运行但没有获取到子进程的退出状态,子进程为僵尸状态
  • %Cpu(s): 2.1 us, 2.7 sy, 0.0 ni, 94.3 id, 0.0 wa, 0.9 hi, 0.0 si, 0.0 st
    • %Cpu(s):CPU状态,百分比形式
    • 2.1 us:用户模式下所花费的CPU时间。一般<60%
    • 2.7 sy:内核进程所花费的CPU时间。一般sy+us<80%
    • 0.0 ni:用户进程改变过优先级的进程占用的CPU时间
    • 94.3 id:CPU处于中断(空闲)状态的时间
    • 0.0 wa:IO等待所占用的CPU时间。一般<30%
    • 0.9 hi:硬件中断占用的CPU
    • 0.0 si:软件中断占用的CPU
    • 0.0 st:丢失时间占用的CPU
  • KiB Mem : 25010324 total, 16740476 free, 8040496 used, 229352 buff/cache
    • KiB Mem:内存信息
    • 25010324 total:系统总供有25010324KB内存
    • 16740476 free:空闲的内存有16740476KB
    • 8040496 used:被程序占用的内存有8040496KB
    • 229352 buff/cache:磁盘交换或者缓存占用的内存有229352KB
  • KiB Swap: 62434556 total, 62434556 free, 0 used. 16836096 avail Mem
    • KiB Swap:swap信息
    • 62434556 total:系统总有62434556KBswap空间
    • 62434556 free:空闲的swap空间有62434556KB
    • 0 used:使用的swap空间有0KB
    • 16836096 avail Mem:表示可用于进程下一次分配的物理内存16836096KB
  • PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    • PID 进程 ID
    • USER 进程所有者的用户名
    • PR 任务优先级,越低越优先
    • NI nice 值。数值越小表示优先级越高,数值越大表示优先级越低
    • VIRT 进程使用的虚拟内存总量),单位:kb。VIRT=SWAP+RES
    • RES 进程使用的、未被换出的物理内存大小,单位:kb。RES=CODE+DATA
    • SHR 共享内存大小,单位:kb
    • S 进程状态。
      • D= 不可中断的睡眠状态
      • R= 运行
      • S= 睡眠
      • T= 跟踪 / 停止
      • Z= 僵尸进程 进程.md
    • %CPU 上次更新到现在的 CPU 时间占用百分比
    • TIME+ 进程使用的 CPU 时间总计,精确到 1/100 秒
    • COMMAND 命令名 / 命令行