zoukankan      html  css  js  c++  java
  • top

    1.top命令功能

    top命令 是用来监控 Linux 系统状况,比如cpu、内存的使用。

    2.启动top(默认3秒刷1次,-d可指定刷新时间)

    $ top
    top - 15:54:51 up 25 days,  2:08,  1 user,  load average: 7.21, 2.27, 0.99
    Tasks: 177 total,  11 running, 165 sleeping,   0 stopped,   1 zombie
    %Cpu(s):  1.2 us,  0.2 sy,  0.0 ni, 98.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem : 15994424 total, 10238564 free,  1489540 used,  4266320 buff/cache
    KiB Swap:        0 total,        0 free,        0 used. 13376548 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    24963 root      20   0    7252     96      0 R  93.8  0.0   0:52.20 stress
    24965 root      20   0    7252     96      0 R  93.8  0.0   0:52.52 stress
    24966 root      20   0    7252     96      0 R  93.8  0.0   0:49.96 stress
    24970 root      20   0    7252     96      0 R  93.8  0.0   0:51.72 stress
    24967 root      20   0    7252     96      0 R  87.5  0.0   0:49.78 stress
    24972 root      20   0    7252     96      0 R  81.2  0.0   0:49.42 stress
    24971 root      20   0    7252     96      0 R  62.5  0.0   0:49.51 stress
    24964 root      20   0    7252     96      0 R  56.2  0.0   0:51.85 stress
    24968 root      20   0    7252     96      0 R  50.0  0.0   0:52.07 stress
    24969 root      20   0    7252     96      0 R  50.0  0.0   0:49.41 stress
    

    第一行:

    top - 15:54:51 up 25 days, 2:08, 1 user, load average: 7.21, 2.27, 0.99

    当前系统时间: 15:54:51
    系统运行机时间:25 days, 2:08 (重启时会重置)
    当前登录用户数量: 1
    系统最近1分钟、最近5分钟、最近15分钟的平均负载: 7.21, 2.27, 0.99 如果负荷数据大于当前系统 CPU线程数,说明系统负荷太重

    查看系统 CPU线程数的方法如下:

    方法1: 
    
    $ lscpu | grep -E "^CPU(s)|Socket|Model name"
    CPU(s):                64                                                                                        CPU线程数
    Socket(s):             2                                                                                         CPU数量
    Model name:            Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
    
    方法2:
    
    $ cat /proc/cpuinfo | grep 'model name' | wc -l
    64
    

    第二行:

    Tasks: 177 total, 11 running, 165 sleeping, 0 stopped, 1 zombie

    系统现在共有177个进程,其中处于运行中的有11个,165个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有1个

    僵尸进程:僵尸进程是指的父进程先与子进程退出,子进程dead,但没有进程回收该进程的信息,就成为僵尸进程。僵尸进程在进程表 (processs table)中仍占了一个位置(slot),所以,虽然僵尸进程已经死亡,但是仍然占用了系统资源,如果系统中存在大量僵尸进行会影响系统性能。

    第三行:

    1.2% us — 用户空间占用CPU的百分比
    0.2% sy — 内核空间占用CPU的百分比
    0.0% ni — 改变过优先级的进程占用CPU的百分比
    98.6% id — 空闲CPU百分比
    0.0% wa — IO等待占用CPU的百分比
    0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    0.0% si — 软中断(Software Interrupts)占用CPU的百分比
    

    第四行:

    KiB Mem : 15994424 total, 10238564 free, 1489540 used, 4266320 buff/cache

    15994424 total — 物理内存总量(16GB)
    10238564 used — 使用中的内存总量(10GB)
    1489540 free — 空闲内存总量(1.4GB)
    4266320 buffers — 缓存的内存总量 (4GB)

    第五行:

    KiB Swap: 0 total, 0 free, 0 used. 13376548 avail Mem
    0 total — 交换区总量
    0 free — 使用的交换区总量
    0 used — 空闲交换区总量
    13376548 — 缓冲的交换区总量(13GB)

    进程信息头:

    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=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比,如果出现 200% 这样的是因为有多核。
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)
    

    快捷键

    按键盘数字“1”,可监控每个逻辑CPU的状况:

    $ top
    top - 04:42:29 up 16 days,  3:12,  3 users,  load average: 0.05, 0.11, 0.18
    Tasks: 348 total,   1 running, 346 sleeping,   0 stopped,   1 zombie
    %Cpu0  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu1  :  0.3 us,  1.3 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    

    按‘q’ 键退出top

  • 相关阅读:
    Python基础05
    Python基础04
    Python基础03
    Python基础02
    Python基础01
    软件测试
    深入了解软件测试基础04
    深入了解软件测试基础03
    深入了解软件测试基础02
    深入了解软件测试基础01
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/11819321.html
Copyright © 2011-2022 走看看