zoukankan      html  css  js  c++  java
  • 了解top这一篇就够了

    1 介绍

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

    2 详细介绍

    2.1 top命令运行图

    打开shell终端输入:top,即可显示下图

    top01.png

    2.1.1 第一行-基本信息

    信息栏 第一行 含义(基本信息)
    top - 08:56:22 当前时间:08:56:22
    up 23 days, 19:15, 运行时间23天又19小时15分钟
    1 user, 当前有一个登录用户
    load average: 0.00, 0.01, 0.05 系统负载,三个数值分别为1分钟、5分钟、15分钟到现在的平均值

    系统平均负载如何理解

    1. 单核CPU - 单车道 - 数字在0.00-1.00之间正常
    2. 多核CPU - 多车道 - 数字/CPU核数 在0.00-1.00之间正常
    3. 安全的系统平均负载:单核负载在0.7以下是安全的,超过0.7就需要进行优化了
    4. 应该看哪一个数字,1分钟,5分钟还是15分钟?:作者认为看5分钟和15分钟的比较好,即后面2个数字。
    5. 怎样知道我的CPU是几核呢?:grep 'model name' /proc/cpuinfo | wc -l

    2.1.2 第二行-任务信息

    任务栏 第二行 Tasks 含义(进程状况)
    92 total, 总共有92个进程
    1 running, 有一个正在运行的进程数
    91 sleeping, 有91个睡眠状态的进程数
    0 stopped, 停止的进程数
    0 zombie 僵尸进程数

    僵尸进程:表示已经终止,但仍然保留一些信息的进程。其等待父进程调用wait(),就可以从内存中完全移除。 将是进程无法使用 kill 清理。如果要手动清理僵尸进程,需要找到其父进程,kill掉父进程后,LInux的 init 进程将接管该僵尸进程(linux中所有的子进程都需要有父进程,当父进程被kill后,其所有子进程将过继给init进程),init进程隔一段时间去调用wait(),来清除僵尸进程。

    2.1.3 第三行-CPU使用情况

    信息栏 第三行 %CPU(s) 含义(表示占用CPU的百分比)
    0.0 us, User Time, CPU执行用户进程百分比,包括Nice Time
    0.0 sy, System Time, CPU在内核运行百分比,包括IRQ和SoftIRQ
    0.0 ni, Nice Time,调整进程优先级所占百分比
    100.0 id, Idle Time,系统空闲百分比
    0.0 wa, Waiting Time,CPU等待I/O完成所有百分比
    0.0 hi, Hard IRQ Time,硬中断占用的CPU时间百分比
    0.0 si, Soft IRQ Time,软中断占用CPU时间百分比
    0.0 st Steal Time,虚拟服务占用

    2.1.4 第四行-物理内存使用情况

    信息栏 第四行 KiB Mem 含义(内存使用信息)
    3881804 total, 总物理内存
    2477576 free, 空闲的物理内存
    723436 used, 已使用的
    680792 buff/cache 缓冲区和缓存区占用内存的总量
    buff/cache:
    buffers 和 cache 都是内存中存放的数据,不同的是,buffers 存放的是准备写入磁盘的数据,而 cache 存放的是从磁盘中读取的数据 。
    在Linux系统中,有一个守护进程(daemon)会定期把buffers中的数据写入的磁盘,也可以使用 sync 命令手动把buffers中的数据写入磁盘。使用buffers可以把分散的 I/O 操作集中起来,减少了磁盘寻道的时间和磁盘碎片。 
    cache是Linux把读取频率高的数据,放到内存中,减少I/O。Linux中cache没有固定大小,根据使用情况自动增加或删除。
    
    # 手动把buffers写入硬盘并清空cache
    sync && echo 3 > /proc/sys/vm/drop_caches
    

    2.1.5 第五行-交换区使用情况

    信息栏 第五行 KiB Swap 含义(交换区使用信息)
    4194300 total, 交换区的总量
    4194300 free, 未使用的量
    0 used. 已使用的量
    2909264 avail Mem 可用的内存量
    Swap(内存交换区):
    是硬盘上的一块空间。在内存不足的情况下,操作系统把内存中不用的数据存到硬盘的交换区,腾出内存来让别的程序运行。因此,开启swap会一定程度的引起 I/O 性能下降(阿里服务器默认不开)。
    

    2.1.6 第六行-进程详细信息

    信息栏 第六行 含义(进程信息统计)
    PID 进程ID
    USER 进程所有者的用户名
    PR 优先级-
    NI nice值
    VIRT 进程使用的虚拟内存总量,单位kb
    RES 进程使用的,未被换出的物理内存大小,单位kb
    SHR 共享内存大小,单位kb
    S 进程状态(D:不可终端的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程)
    %CPU 上次更新到现在的CPU时间占用比
    %MEM 进程使用的物理内存百分比
    TIME+ 进程使用的CPU时间总计,单位1/100秒
    COMMAND 命令名/命令行

    2.2 top的用法

    2.2.1 命令行方式使用

    • -b:以批处理模式操作 这种方式可以把top输出的内容已可读的形式写入文件top -b >> top.txt
    • -c:显示完整的命令行(COMMAND),想查看进程执行的具体位置时 非常有用
    • -d:屏幕刷新间隔时间 top -d 1:表示每隔一秒刷新一次
    • -s:使用保密模式
    • -S:使用累计模式
    • -i:不显示任何闲置或者僵尸进程
    • -u<用户名>:指定用户名
    • -p<进程号>:指定进程
    • -n<次数>:指定循环显示的次数,到了次数自动退出

    2.2.2 交互式使用

    top命令显示系统实时状态,支持交互操作。执行top命令,显示系统状态界面(同时也是交互界面),输入交互命令:

    • 1:查看CPU每个核的使用情况
    2.png
    - h:显示帮助画面,给出一些简短的命令总结说明 - k:终止一个进程 - i:忽略闲置和僵死进程,这是一个开关式命令 - q:退出程序 - r:重新安排一个进程的优先级别 - S:切换到累计模式 - s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s - l:切换显示平均负载和启动时间信息 - m:切换显示内存信息 - t:切换显示进程和CPU状态信息 - c:切换显示命令名称和完整命令行 - M:根据驻留内存大小进行排序 - P:根据CPU使用百分比大小进行排序 - T:根据时间/累计时间进行排序 - w:将当前设置写入~/.toprc文件中。 - f: 可以自定义想要查看的进程信息 > 通过键盘向右键可以选择,向左键取消选择,通过向上向下键移动位置,空格键进行选择是否展示,q键或esc键退出
    4.png

    2.2.3 其它用法

    1. 使用top查看某一进程的线程
    3.png
  • 相关阅读:
    swagger本地环境搭建
    上传图片报错
    接口自动化测试---环境搭建
    IDEA 运行程序提交hdfs时,报错
    hadoop2.60集群搭建
    查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
    按照salary的累计和running_total,其中running_total为前两个员工的salary累计和
    CSS补充
    BFC(块级格式化上下文)
    CSS精灵技术
  • 原文地址:https://www.cnblogs.com/sdhzdtwhm/p/10183703.html
Copyright © 2011-2022 走看看