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

cpu性能统计

cpu负载

top中avg,/proc/loadavg, 包括cpu密集型任务+io型任务

统计流程
每cpu
scheduler_tick
----calc_global_load_tick : 当前瞬时 cpu::this_rq:: nr_running+nr_inunterrupt->calc_load_tasks(全局变量)
全局
do_timer
----calc_global_load:瞬时calc_load_tasks 分别加权做移动平均->avenrun[3](分别为5分、10分、15分)

cpu利用率

top中 us,sy,ni,id,wa,hi,si,st ; /proc/stat , /proc/$pid/stat
用户空间: us+ni(user+nice)
内核空间: sy+hi+si(sys+irq+softirq)
idle: id+wa(idle+iowait)

统计流程
per_cpu变量 kernel_cpustat: cpustat[]
update_process_timers(每cpu tick, 常见1ms采样,1ms时间统一归入cpustat[所选统计项])
----accuount_process_tick
--------account_user_time(用户态  统计项=user或nice)
------------task_group_account_field (该采样时间计入cpustat[统计项])
--------account_system_time (中断或者kernel,统计项=irq或softirq或system)
------------account_system_index_time
----------------task_group_account_field (该采样时间计入cpustat[统计项])
--------account_ider_time(idle,统计项=idle或iowait,该采样时间计入cpustat[统计项])

perf统计

内建perf命令
硬事件:
周期数、指令数、cache-miss、分支预测失败等 ->cpu性能计数器(硬件寄存器)
软事件:
软件统计缺页中断、上下文切换、cpu迁移->kernel变量
关键指标CPI/IPC, 周期数每指令(求低)/指令数每周期(求高),彼此互为倒数,本质如一
低CPI优化:
1. 高频cpu、内存
2. 大cpu cache
3. 局部性代码,提高cache命中
4. cpu绑定限制,缓解cpu迁移导致cache失效

相关文章:

  • 小火电视桌面 TV版 老旧历史版本安装包 官方免费下载
  • 本地使用Ollama部署DeepSeek
  • 实时交互式AIGC系统开发:打造多模态数字人全栈解决方案
  • 基于图扑 HT 实现的智慧展馆数字孪生应用
  • 大模型应用开发(PAFR)
  • 实现层归一化
  • 燃气经营从业人员有哪些类别
  • 计算机组成原理-408考点-数的表示
  • [DDD传灯录]禅师:这,就是领域驱动设计(01-02)
  • py语法基础理解
  • C++中随机数的产生
  • 登高架设作业证考试的实操项目有哪些?
  • Linux服务器离线安装ollama及大模型
  • 使用ACME给动态域名下的Synology NAS免费申请SSL证书(无需开放80/443端口)
  • 终端运行java出现???
  • Java基本概念
  • Veo 2:Gemini API赋能的革命性视频生成工具,重新定义动态内容创作——从逼真物理模拟到精细镜头控制,开发者的新一代视频生成利器
  • Vuex 和 Pinia 的区别
  • 【版本控制】SVN + TortoiseSVN版本管理实用教程(附安装+开发常用操作)
  • C语言基础语法详解:从入门到掌握
  • 云南鲁甸县一河滩突然涨水致4死,有人在救人过程中遇难
  • 韩国首尔江南区一大型商场起火,消防部门正在灭火中
  • 印控克什米尔恐袭引爆印巴新一轮外交摩擦,地区安全风险骤增
  • 生态环境部谈拿手持式仪器到海边测辐射:不能测量水中放射性核素含量
  • 湃书单|澎湃新闻编辑们在读的19本书:在工作中迷失
  • 呈现“民族脊梁型爱国学府”曲折辉煌的办学历程,这个展览开幕