• Linux性能分析


    系统性能分析:

    1、整体系统CPU利用率

    2、内存利用率

    3、磁盘I/O的利用率和延迟

    4、网络利用率

    1、CPU定位分析

    在系统的CPU分析定位过程中,当系统的CPU利用率大于50%时,我们就需要注意了;当系统的CPU利用率大于70%的时候,就需要密切关注;当系统的CPU的利用率高于90%的时候,情况就比较严重了。通过这些监控分析情况,我们可以用命令有vmstat、sar、dstat、mpstat、top、ps等命令来进行统计分析。

    模块

    类型

    度量方法

    衡量标准

    CPU

    使用情况

    1、通过vmstat 统计1-id的计数

    2、通过sar -u 统计1-%idle的计数

    3、通过dstat命令 统计1-id1的计数

    4、通过mpstat -P ALL统计1-%idle的计数

    5、通过ps命令统计cpu的计数

    注意>=50%

    告警>=70%

    严重>=90%

    CPU

    满载

    6、vmstat的r的计数 > CPU逻辑数

    7、sar -q, “runq-sz” >CPU逻辑数

    8、dstat -p, “run” > CPU逻辑数

    运行的队列大于1时,说明已经有一定的负载了,不过这个值也不绝对,需要进一步分析其他的资源情况来确定CPU是否已经满载符合运行

    CPU

    错误

    9、通过perf工具去捕获处理器的错误信息,需要处理器支持

    需处理器支持

    2、内存定位分析

    在系统的内存分析定位过程中,当系统内存的利用率大于50%的时候,我们就需要注意了;当系统的内存大于70%的时候,就需要密切关注;当系统的内存利用率高于80%的时候,情况就比较严重。通过这些监控分析,可以用vmstat、sar、dstat、free、top、ps等命令来进行统计分析。

    模块

    类型

    度量方法

    衡量标准

    内存

    使用情况

    1、free命令查看使用情况

    2、vmstat命令查看使用情况

    3、sar -r 命令查看使用情况

    4、ps命令查看使用情况

    注意>=50%

    告警>=70%

    严重>=80%

    内存

    满载

    5、vmstat的si/so比例辅助swpad和free利用

    6、sar -W 查看次缺页数

    7、查看内核日志有无OOM机制kill进程

    8、dmesg | grep killed

    1、so数值大,且swpad已经占比很高,内存肯定已经饱和

    2、sar命令缺页以为不停地和swap打交道,证明内存已经饱和

    内存

    错误

    9、查看内核有无physical failures

    10、通过工具如valgrind等进行检查

    有计数

    3、网络定位分析

    衡量系统网络的使用情况,可以使用的命令有sar、ifconfig、netstat以及查看net的dev速率,通过查看收发包的吞吐率达到网卡的最大上限(问题:网络的最大上限怎么看呢?),网络数据报文有因为这类原因而引发的丢包、阻塞等现象都证明当前网络可能存在瓶颈。在进行性能测试时,为了减小网络的影响,一般我们都是在局域网中进行测执行。

    模块

    类型

    度量方法

    衡量标准

    网络

    使用情况

    1、sar -n DEV 的收发计数大于网卡上限

    2、ifconfig RX/TX 带宽超过网卡上限

    3、cat /proc/net/dev 的速率超过上限

    4、nicstat 的util基本满负载

    1、收发包的吞吐率达到网卡上限

    2、有延迟

    3、有丢包

    4、有阻塞

    网络

    满载

    5、ifconfig dropped 有计数

    6、netstat -s “segments restransmited”有计数

    7、sar -n DEV rxdrop txdrop 有计数

    统计的丢包有计数证明已经满载了

    网络

    错误

    8、ifconfig, ‘errors’

    9、netstat -I, “RX-ERR”/”TX-ERR”

    10、sar -n EDEV, “rxerr/s”,”txerr/s”

    11、ip -s link, “errors”

    错误有计数

    4、IO定位分析

    衡量系统IO的使用情况,可以使用sar、iostat、iotop等命令进行系统级别的IO监控分析。当发现IO的利用率大于40%时候,就需要注意了;当使用率大于60%则处于告警阶段;大于80%时IO就会出现阻塞了。

    模块

    类型

    度量方法

    度量标准

    IO

    使用情况

    1、iostat -xz, “%util”

    2、sar -d, “%util”

    3、iotop 的利用率很高

    4、cat /proc/pid/sched|grep iowait

    注意>=40%

    告警>=60%

    严重>=80%

    IO

    满载

    5、iostat -xnz 1, “avgqu-sz”>1

    6、iostat await>70

    IO已经有满载嫌疑

    IO

    错误

    7、dmesg 查看io错误

    8、smartctl /dev/sda

    有信息

  • 相关阅读:
    ES5新特性:理解 Array 中增强的 9 个 API
    ios
    Jquery异步 Deferred Object
    ES5中新增的Array方法详细说明
    Chart
    Angular常用语句
    vticker.js--垂直滚动插件
    <css系列>之css--float总结
    理解boot.img与静态分析Android/linux内核
    理解竞争条件( Race condition)漏洞
  • 原文地址:https://www.cnblogs.com/yagao/p/10282002.html
Copyright © 2020-2023  润新知