zoukankan      html  css  js  c++  java
  • top 命令

    一、top 命令界面概览

    二、系统运行时间和平均负载

    11:25:19 : 当前系统时间

    up 409 days : 系统已经运行了 409 天(在这期间系统没有重启过)

    3 users : 当前有 3 个用户登录了该服务器

    load average: 1.06, 1.70, 1.38 : 系统 1 分钟、5 分钟、15 分钟的平均负载

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

    (这里提一下如何查看逻辑 CPU 的数量)

    1、直接查看 cpu 的 processor 的个数

    cat /proc/cpuinfo | grep "processor" | sort | uniq

    2、top 命令运行的时候按数字键 1

    三、任务(进程)的运行状态

    系统现在总共有 151 个进程,其中处于运行状态的有 1 个、150 个在休眠状态(sleeping)、0 个在停止状态(stopped)、0 个在僵尸状态(zombie)

    四、CPU 状态

    这里显示不同模式下所占 CPU 时间百分比,这些不同的 CPU 时间表示

    us(user) : 运行(未调整优先级的) 用户进程所占用的 CPU 时间百分比

    sy(system) : 运行内核进程所占用的 CPU 时间百分比

    ni(niced) : 运行已调整优先级的用户进程所占用的 CPU 时间百分比

    wa(io wait) : 等待 IO 完成所占用的 CPU 时间百分比

    hi(hardware interrupts) : 硬件中断所占用的 CPU 时间百分比

    si(software interrupts) : 软件中断所占用的 CPU 时间百分比

    st : 这个虚拟机被 hypervisor 偷去的 CPU 时间百分比

    1.3% us : 用户空间所占用 CPU 时间的百分比

    0.5% sy : 内核空间占用 CPU 时间的百分比

    0.0% ni : 改变过优先级的用户进程所占用 CPU 时间的百分比

    95.9% id : 空闲 CPU 的百分比

    0.7% wa : IO 等待所占用 CPU 时间的百分比

    0.0% hi : 硬中断(Hardware Interrupts)所占用 CPU 时间的百分比

    0.0% si : 软中断(Software Interrupts)所占用 CPU 时间的百分比

    1.7% st : 该虚拟机被 hypervisor 偷去的 CPU 时间的百分比

    五、内存使用情况

    接下来两行显示内存使用率,有点像 free 命令,第一行是物理内存使用,第二行是虚拟内存使用(交换空间)

    物理内存显示的信息如下: 全部可用内存、空闲内存、已使用内存、缓冲内存

    KiB Mem:

    8008636 total : 物理内存总量 8008636 / 1024 = 7820 MiB (单位 KiB,1 MiB = 2^10 KiB)

    130524 free : 空闲的物理内存总量 130524 / 1024 = 127 MiB

    7706900 used : 已经使用的物理内存总量 7706900 / 1024 = 7526 MiB

    171212 buff/cache : 缓冲的物理内存总量 171212 / 1024 = 167 MiB

    虚拟内存显示的信息如下: 全部可用内存、空闲内存、已使用内存、可用内存

    KiB Swap:

    4063228 total : 交换区内存总量 4063228 / 1024 = 3967 MiB

    1016208 free : 交换区空闲内存总量 1016208 / 1024 = 992 MiB

    3047020 used : 交换区已使用内存总量 3047020 / 1024 = 2975 MiB

    75524 avail Mem : 交换区可用内存总量 75524 / 1024 = 73 MiB

    对于第四行中的 used(已使用的内存总量)指的是现在系统内核控制的内存总量、free(空闲内存总量)指的是内核还未纳入其管控范围的数量,纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到 free 中,因此 Linux 上 free 内存的数量会越来越少,但是不用为此担心

    如果处于习惯去计算可用内存的总量,这里有一个近似的计算公式 : 第四行的 free + buff/cache = 130524 + 171212 = 301736 / 1024 = 294 MiB

    对于内存监控,在 top 命令里我们要时刻监控第 5 行 swap 交换分区的 used,如果这个数值在不断的变化,说明内核在不断进行内存和 swap 的数据交换,这是真正的内存不够用了

    六、各进程(任务)的状态监控

    PID : 进程 ID,进程的唯一标识符

    USER : 进程所有者的实际用户名
    PR : 进程的调度优先级,这个字段的一些值是 rt(runtime),这意味这这些进程运行在实时态.
    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 : 运行进程所使用的命令.进程名称(命令名/命令行)
    还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组、组 ID 和其他更多的信息

    转载: https://www.cnblogs.com/zhoug2020/p/6336453.html

  • 相关阅读:
    嘿,新年快乐
    最近无状态~
    奥巴马:我们为什么要上学
    大学学不会逃课是不会有出息的!
    赫赫,给红十字捐款的sb了吧
    狄仁杰你敢不装逼吗
    腾讯qq开始耍威胁用户的无赖手段了
    <转>关于信仰
    恩,老了~~~
    Vue 2.0学习笔记: Vue中的computed属性
  • 原文地址:https://www.cnblogs.com/xiaomaomao/p/15715496.html
Copyright © 2011-2022 走看看