当前位置: 首页 > news >正文

(三)Linux性能优化-CPU-CPU 使用率

CPU使用率

在这里插入图片描述

  • user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。
  • nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-19 之间时的 CPU 时间。这里注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而越低。
  • system(通常缩写为 sys),代表内核态 CPU 时间
  • idle(通常缩写为 id),代表空闲时间。注意,它不包括等待 I/O 的时间(iowait)。
  • iowait(通常缩写为 wa),代表等待 I/O 的 CPU 时间
  • irq(通常缩写为 hi),代表处理硬中断的 CPU 时间
  • softirq(通常缩写为 si),代表处理软中断的 CPU 时间
  • steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU 时间
  • guest(通常缩写为 guest),代表通过虚拟化运行其他操作系统的时间,也就是运行虚拟机的 CPU 时间
  • guest_nice(通常缩写为 gnice),代表以低优先级运行虚拟机的时间

每个进程都有一个 %CPU 列,表示进程的 CPU 使用率。它是用户态和内核态 CPU 使用率的总和,包括进程用户空间使用的 CPU、通过系统调用执行的内核空间 CPU 、以及在就绪队列等待运行的 CPU。在虚拟化环境中,它还包括了运行虚拟机占用的 CPU。

CPU 使用率,就是除了空闲时间外的其他时间占总 CPU 时间的百分比,性能分析工具给出的都是间隔一段时间的平均 CPU 使用率,所以要注意间隔时间的设置

perf

通过上述方法很容易找到cpu使用率高的进程,但是具体是进程哪一行代码,则需要新的工具,用perf,这个后面再更新,省的误人子弟

案例

  1. CPU达到100%时候,找到目标进程,然后perf分析代码,确定问题行
  2. CPU使用率很高,但是找不到目标进程,一是可能短进程,二是可能进程不停崩溃重启
  3. 系统出现大量不可中断进程和僵尸进程,
    dstat -cydsgmnplt	查看系统IO情况
    pidstat -d 1 10
    perf record -g
    
    不可中断进程,就去查看进程IO部分代码,观察代码是读 or 写 的问题
    僵尸进程,找到父进程后,找到其wait或者waitpid代码是否存在,一般僵尸进程是其父进程没有进行回收导致的

相关文章:

  • JDBC基础关键_001_认识
  • DOM(文档对象模型)深度解析
  • Git 常见操作
  • 【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
  • DiMTAIC 2024 数字医学技术及应用创新大赛-甲状腺B超静态及动态影像算法赛-参赛项目
  • GitOps 核心思想 - 当 Git 成为唯一信源
  • 【PhysUnits】17.2 配套变量结构体 Var(variable.rs)
  • 第二十九章 数组
  • [嵌入式AI从0开始到入土]18_Ascend C算子开发环境(S5赛季)
  • 【redis】线程IO模型
  • 探索数学的迷人谜题:考兰兹猜想与MATLAB演示
  • MyBatis中foreach集合用法详解
  • STM32H562----------串口通信(UART)
  • 大模型如何选型?嵌入模型如何选型?
  • (LeetCode 每日一题)386. 字典序排数(递归、深度优先搜索dfs || 递推)
  • 2.2.1 ASPICE的需求收集
  • k8s4部署
  • ESP12E/F 参数对比
  • (LeetCode 动态规划(基础版))96. 不同的二叉搜索树 (递推 || 递归)
  • 设备驱动与文件系统:04 从生磁盘到文件
  • 天津网站建设工作室/google应用商店
  • 哪些网站可以做招商广告语/外链交易平台
  • 网上做石材去哪个网站/做电商如何起步
  • 上海网站建设公司联系方式/怎样做好销售和客户交流
  • 合肥大型网站建设公司/西安百度快照优化
  • 奥鹏作业代做靠谱的网站/软文的本质是什么