2.linux操作系统CPU使用率和平均负载区别

目录

概述

linux操作系统CPU 使用率平均负载 区别

负载高并不一定使用率高,有可能 cpu 被占用,但不干活。

cpu使用率

cpu使用率:cpu非空闲态运行的时间占比,反映cpu的繁忙程度,和平均负载不一定完全一致

  • 生产系统的cpu总使用率不要超过70~80%
  • 比如
    • 单核cpu 1s 内非空闲态运行时间为0.8s ,那么它的cpu使用率就是 80%
    • 双核cpu 1s 内非空闲态运行时间为分别为 0.4s 和 0.6s,总体 cpu 使用率就是 (0.4s+0.6s)/(1s*2) = 50%
  • linux的top命令查看cpu使用率 (核心指标、不常用的忽略)
    • us(user) :cpu在用户态运行的时间百分比,通常用户态cpu高表示有应用程序比较繁忙,使用率高
    • sy(sys): cpu在内核态运行的时间百分比(不包括中断),内核态 cpu 越低越好
    • id(idle):cpu处于空闲态的时间占比,cpu会执行一个特定的虚拟进程,名为 system idle process
      • 值高的话,则说明cpu比较空闲
    • wal(iowait)
      • cpu 在等待i/0 操作完成所消耗的时间,改指标越低越好,否则表示 i/o 存在瓶颈,用 iostat 命令进一步分析
    • hi(hardirq): cpu处理硬中断所花的时间,由外设硬件(如键盘控制器、硬件优越感器等)发出的中断信号,快速执行
    • si(softirq): cpu 处理软中断所花费的时间,由软件程序(如网络收发、定时调试等) 发出的中断信号,延迟执行
    • st(steal) :cpu被其他的虚拟机占用的时间,仅出现在多虚拟机场景,指标过高的话,检查 下宿主机或其他虚拟机是否异常

区别

cpu使用率和平均负载

  • cpu平均负载 :指单位时间内活跃进程数,包括正在使用 cpu 的进程,还包括等待 cpu 和等待 i/0的进程

    • 可运行状态和不可中断状态的平均进程数
  • cpu使用率:是指单位时间内cpu繁忙情况的统计

说明

  • cpu密集型进程,使用大量 cpu 运算会导致平均负载升高,使用率也会升高,这个场景两者是一致的
  • i/o 密集型进程,等待 i/o 也会导致平均负载长高,但 cpu 使用率不一定很高
  • 拓展:cpu 密集型应用和io密集型应用

结束

linux操作系统CPU使用率和平均负载区别 总结。

相关推荐
DSP芯思路5 天前
用人体类比讲透芯片:CPU是大脑,PLL是心脏,总线是大动脉
cpu·芯片·总线·pll
下次再写10 天前
ChatClient 与 ChatModel 的区别详解
区别·技术解析·chatclient·chatmodel
同勉共进13 天前
并发编程核心概念辨析
c++·cpu·内存屏障·缓存一致性·memory order
庞轩px17 天前
线程本地缓存?CPU缓存!
缓存·线程·cpu·volatile·可见性·本地内存
FserSuN17 天前
GPU vs CPU 基本概念学习笔记
cpu·gpu
坏孩子的诺亚方舟21 天前
RTL设计师攻略0_架构与微架构
架构·cpu·面试攻略
【ql君】qlexcel21 天前
稳压二极管、TVS、ESD静电管的区别和应用场景
区别·稳压二极管·tvs·瞬态电压抑制二极管·esd静电管
CappuccinoRose25 天前
计算机系统体系结构及其组成 - 汇总篇
cpu·计算机体系结构·总线·计算机组成·指令系统·并行处理机·码制
avi91111 个月前
万事课程:AMD CPU 结构 和虚拟化---入门讲解
cpu·amd·系统工程师
谷公子的藏经阁1 个月前
聊点老古董: Arm Cortex-M v6/v7架构及其CPU
arm·cpu·armv7·cortex-m·armv6