Linux性能瓶颈分析之TOP指标分析

Linux性能瓶颈分析之TOP指标分析



一、查看CPU

1.查看cpu基础信息

lscpu

2.查看cpu详细信息

cat /proc/cpuinfo

3.统计cpu信息

cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l  查看物理cpu数量
cat /proc/cpuinfo | grep "cpu cores" |uniq  查看CPU的core数,即核数
cat /proc/cpuinfo | grep "processor" |wc -l 查看逻辑CPU数量

如图所示:
在这里插入图片描述
在这里插入图片描述

二、监控CPU

  • us:表示 CPU 在用户态运行的时间百分比,通常用户态 CPU 高表示有应用程序比较繁忙。
  • sy:表示 CPU 在内核态运行的时间百分比,通常内核态 CPU 越低越好,否则表示系统存在某些瓶颈。
  • ni:表示用 nice 修正进程优先级的用户态进程执行的 CPU 时间。nice 是一个进程优先级的修正值,如果进程通过它修改了优先级,则会单独统计 CPU 开销
  • id:表示 CPU 处于空闲态的时间占比
  • wa:表示 CPU 在等待 I/O 操作完成所花费的时间,通常该指标越低越好,否则表示 I/O 存在瓶颈,可以用 iostat 等命令做进一步分析。
  • hi:表示 CPU 处理硬中断所花费的时间。硬中断是由外设硬件(如键盘控制器、硬件传感器等)发出的,需要有中断控制器参与,特点是快速执行
  • si:表示 CPU 处理软中断所花费的时间。软中断是由软件程序(如网络收发、定时调度等)发出的中断信号,特点是延迟执行。
  • st:表示 CPU 被其他虚拟机占用的时间,仅出现在多虚拟机场景。如果该指标过高,可以检查下宿主机或其他虚拟机是否异常。
  • load average值 & CPU使用率之间的关系
    load average != CPU使用率
    load average是系统的整体负载提现:
    包括:CPU负载 + Disk负载 + 网络负载 + 外设负载
    loadaverage = cpuload + ioload
    CPU的使用:用户进程使用时间us、系统内核运行时间sy、空闲时间idle、管理被强占时间st
    繁忙:us + sy + st + ni +hi +si == CPU使用率的时间(除以总时间)
    空闲:idle + wa

CPU的上下文

上下文切换就是cpu 寄存器里面的资源进行切换。
自愿上下文切换: 资源不够,自觉的切换到另外指令上。
非自愿上下文切换: 有可能有优先级更高的指令或者指令执行的时间已经到了,被迫中止当前的指令,去执行其他指令。

  • sy:做上下文切换—>可能遇到上线文问题
    自愿上下文切换 —> 内存瓶颈
    非自愿上下文切换 ----> cpu瓶颈(抢占资源)
  • us/ni : 用户运行计算 —> cpu密集计算 or FGC or 死循环
  • si :软中段 ---->cpu竞争抢资源 or 资源不够I/O问题
  • wa : 等待资源 —>I/O问题(磁盘/网络)
  • st : 抢占资源 —> 宿主机抢占资源

列举场景:

  • 情况1:sys 系统态高 === 排查cpu上下文切换
    如果“非自愿上下文切换”多,说明cpu不够用,进程时间片到,被迫切换
    如果“自愿上下文切换”多,说明计算机存的资源不够用,可能存在I/O、内存瓶颈
  • 情况2:si 软中断高 == cpu抢资源,资源不够用I/O问题
    sys高 + si高 ===>内存or网络I/O问题
    sys高 + si 不高 ===> CPU瓶颈
  • 情况3:us用户态高 === 用户程序计算
    密集型计算、内存FGC、资源等待(线程池)

总结

近期涉及到整理Linux相关培训,参考了其他博主文章,大多都是局部某个点的分析,系统性的很少,所以打算做一个Linux性能瓶颈分析的系列文章,工作原因,到7月底陆续完成初稿的几篇,涉及cpu、内存、缓存、io、磁盘等等相关文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AK@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值