• 通过Linux命令监控CPU案例


    通过Linux命令监控CPU案例

    1.CPU利用率
    查看cpu核数 输入top指定后 输入1 则显示cpu核数 cpu核数为4核
    核数
    根据top显示的结果进行分析

    监控参数说明:
    us	用户态CPU时间(百分比)	
    sy	系统态CPU时间(百分比)	
    id	空闲CPU时间(百分比)	
    wa	等待IO的CPU时间
    load average CPU平均占比
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    cpu利用率参考指标:
    us 65% - 70% User Time 用户cpu占比 
    sy 30% - 35% System Time  系统cpu占比
    id 0% - 5% Idle Time  空闲cpu占比
    
    • 1
    • 2
    • 3
    • 4

    如果id占比为0,代表空闲cpu为空,表示系统出现高负载情况。
    如果load average占比>cpu核数 表示系统出现高负载情况。
    如果wa很高,代表IO等待时间很高,有可能是磁盘IO出现瓶颈。
    如果us>70%,超过标准的cpu利用率70%,表示系统出现高负载情况。

    pidstat -u 1 -p (pid号)  获取单个线程占比cpu占比最大的pid  监控单个线程cpu使用率
    
    • 1
    如果us>70%,需要查询cpu利用率高的线程,找到线程中应用程序的内容,找到系统瓶颈。
    
    • 1

    2.整体数据分析
    通过vmstat进行服务器整体分析
    切换

    监控参数说明:
    r代表队列
    cs代表上下文切换
    in终端次数飙升 常说的软中断
    si列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
    so列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
    bi列表示从块设备读入数据的总量
    bo列表示写入到块设备的数据总量
    wa列显示了I/O等待所占用的CPU时间百分比
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    数值分析

    如果r数值长期大于系统CPU的个数,说明CPU不足,需要增加CPU。
    
    • 1
    cs数值和in数值出现频繁的变化,则存在高负载的情况。
    
    • 1
    bi+bo参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘I/O有问题,应该考虑提高磁盘的读写性能。
    
    • 1
    如果si、so的值长期不为0,则表示系统内存不足。需要增加系统内存。
    
    • 1
    wa值越高,说明I/O等待越严重。根据经验,wa的参考值为20%,如果wa值超过20%,说明I/O等待严重。
    
    • 1
    sy值比较高,一般是in(中断)和cs(上下文切换)导致的,可以根据具体的情况开启PRS或则减少应用的线程池。
    
    • 1

    3.软中断问题分析
    通过mpstat进行软中断问题分析
    分析数据

    监控参数说明:
    usr 用户cpu占比
    sys 系统内核cpu占比
    iowait io所使用的的cpu占比
    irq   硬中断cpu占比
    soft  软中断cpu占比
    idle 空闲cpu占比
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    数值分析

    如果soft数值很高,idle很低,需要考虑软中断优化。
    
    • 1
  • 相关阅读:
    安全在编程这个行业中的困境【系统工程师的思考】
    设置host
    如何使用手机提高拍照水平
    验证流程--验证层次
    麒麟系统上使用linuxdeployqt 编译安装
    多商户商城系统功能拆解38讲-平台端营销-砍价商品
    SAP PO接口日志 集成引擎的归档对象
    deadmau5 《光之塔》 NFT 系列来袭!
    Java实习生常规技术面试题每日十题Java基础(六)
    PMSM FOC位置环S曲线控制算法(恒定急动度)
  • 原文地址:https://blog.csdn.net/qq_38484679/article/details/127646706