Linux进程管理(二)

Linux进程管理(二)

😄 Written by Zak Zhu

参考

vmstat命令

vmstat -w -S M 1

1

procs

  • r # 运行或等待cpu时间片的进程的个数
  • b # 被阻塞(通常为等待I/O完成)的进程队列的长度

memory

  • swpd # 从物理内存交换至swap中的数据量
  • free # 未使用的内存大小
  • buffer # buffer空间大小, 通常与缓存写操作相关
  • cache # cache空间大小, 通常与缓存读操作相关

swap

  • si # swap in, 数据进入swap中的数据量, 通常是速率(kb/s)
  • so # swap out, 数据离开swap中的数据量, 通常是速率(kb/s)

io

  • bi # block in, 从块设备读入的数据量, 通常是速率(kb/s)
  • bo # block out, 保存至块设备中的数据量, 通常是速率(kb/s)

system

  • in # interrupte, 中断发生频率, 每秒的中断数
  • cs # context switch, 上下文切换, 进程切换, 通常是速率(kb/s)

top命令

2

上图信息解释

  1. 第一行

    • 15:16:26 系统当前时间和up 1 day, 23:28 系统运行时间,

    • 1 user 当前登陆用户数,

    • load average: 1.23, 1.04, 0.93 CPU任务队列的平均长度, 3 个数值分别统计最近1分钟, 5分钟, 15分钟的系统平均负载

      **CPU负载: CPU核数 * 0.7 = 理想负载 **

      例如上图, 4核CPU不超过2.8负载表示没有出现高负载

  2. 第二行

    • Tasks: 339 total 表示总共运行的进程数
    • 1 running 表示正在运行的进程数
    • 264 sleeping 表示睡眠的进程数
    • 0 stopped 表示停止的进程数
    • 1 zombie 表示僵尸的进程数
  3. 第三至六行

    按数字"1"可显示各核CPU信息

    • us # 用户空间占用CPU百分比
    • sy # 内核空间占用CPU百分比
    • ni # 用户进程空间内改变过优先级的进程占用CPU百分比
    • id # 空闲CPU百分比
    • wa # 等待输入输出的CPU时间百分比
    • hi # 硬件中断所消耗的时间总额
    • si # 软件中断所消耗的时间总额
    • st # VM被Hypervisor偷去的CPU时间
  4. 第七行

    • KiB Mem: 16167652 total 物理内存总量
    • 1454352 free 空闲的内存
    • 3643432 used 使用的物理内存
    • 11069868 buff/cache 缓冲的内存
  5. 第八行

    • KiB swap: 1999868 total 交换区总量
    • 1999868 free 空闲的交换区量
    • 0 used 使用的交换区量
    • 9266832 avail Mem 缓冲的交换区量
  6. 第九行

    字段 注释
    PID Process ID
    USER USER name
    PR PRiority
    NI NIce
    VIRT VIRTual image, 进程使用的虚拟内存总量, 单位kb. VIRT=SWAP+RES
    RES RESident size, 常驻内存, 单位kb, RES=CODE+DATA
    SHR SHAred mem size, 共享内存大小, 单位kb
    S Status
    %CPU CPU usage, 上次更新到现在的CPU时间占用百分比
    %MEM MEMory usage, 进程使用的物理内存占用百分比
    TIME+ 累计占用的内存时间
    COMMAND COMMAND name
posted @ 2019-10-07 23:30  ZakZhu  阅读(156)  评论(0编辑  收藏  举报