欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux 系统 top 命令详解

发布时间:2023/12/20 linux 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux 系统 top 命令详解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 前言
    • top 命令关键词详解
      • 1. VIRT:virtual memory usage 虚拟内存
      • 2. RES:resident memory usage 常驻内存
      • 3. SHR:shared memory 共享内存
      • 4. DATA :数据占用的内存
      • 5. top 运行中的交互命令
    • top 命令图解
      • 1. 系统运行时间和平均负载
      • 2. 任务
      • 3. CPU 状态
      • 4. 内存使用
      • 5. 各进程(任务)的状态监控
      • 6. 交互命令
        • 1. ‘h’ : 帮助
        • 2. ‘ENTER’ 或者 ‘SPACE’ : 刷新显示
        • 3. ‘s’ : 设置刷新频率(单位是秒s)

前言

top命令是Linux下常用的性能分析工具,能够实时显示系统状况,比如cpu、内存的使用等。以下详细介绍 top 命令。

top 命令关键词详解

1. VIRT:virtual memory usage 虚拟内存

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
3、单位kb。VIRT=SWAP+RES

2. RES:resident memory usage 常驻内存

1、进程当前使用的内存大小,不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
5、单位kb。RES=CODE+DATA

3. SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
5、单位kb

4. DATA :数据占用的内存

1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
3、单位kb

5. top 运行中的交互命令

即 top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。
s – 改变画面更新频率
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
h – 显示帮助
n – 设置在进程列表所显示进程的数量
q – 退出 top

top 命令图解

1. 系统运行时间和平均负载

top - 15:13:44 up 42 days, 15:32, 1 user, load average: 12.15, 11.13, 11.38

  • 当前时间 : 15:13:44
  • 系统已运行时间 : 42 days, 15:32
  • 当前登录用户的数量 : 1 user
  • 最近5、10和15分钟内的平均负载 : 12.15, 11.13, 11.38
  • 2. 任务

    Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie

    Tasks任务(进程):

  • 系统现在共有个进程 : 29
  • 运行中的进程:1
  • 休眠的进程(sleep):28
  • stoped状态的进程 : 0
  • zombie状态(僵尸)进程:0
  • 3. CPU 状态

    Cpu(s): 13.8%us, 12.6%sy, 0.0%ni, 72.5%id, 0.0%wa, 0.0%hi, 0.9%si, 0.0%st

    显示不同模式下所占cpu时间百分比,

  • us/user: 运行(未调整优先级的) 用户进程的CPU时间
  • sy/system: 运行内核进程的CPU时间
  • ni/niced:运行已调整优先级的用户进程的CPU时间
  • wa/IO wait: 用于等待IO完成的CPU时间
  • hi:处理硬件中断的CPU时间
  • si: 处理软件中断的CPU时间
  • st:这个虚拟机被hypervisor偷去的CPU时间
  • 4. 内存使用

    Mem: 197796908k total, 196512108k used, 1284800k free, 1032k buffers
    Swap: 4186108k total, 3880548k used, 305560k free, 115914268k cached

    第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
    注 : 内存显示可以用 ‘m’ 命令切换。

  • 197796908k total — 物理内存总量(193161M)
  • 196512108k used — 使用中的内存总量
  • 1284800k free — 空闲内存总量
  • 1032k buffers — 缓存的内存量 (1M)
  • swap交换分区

  • 4186108k total — 交换区总量
  • 3880548k used — 使用的交换区总量
  • 305560k free — 空闲交换区总量
  • 115914268k cached — 缓冲的交换区总量
  • 5. 各进程(任务)的状态监控

  • 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:运行进程所使用的命令。进程名称(命令名/命令行)
  • 6. 交互命令

    1. ‘h’ : 帮助

    2. ‘ENTER’ 或者 ‘SPACE’ : 刷新显示

    3. ‘s’ : 设置刷新频率(单位是秒s)

    总结

    以上是生活随笔为你收集整理的Linux 系统 top 命令详解的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。