首页 > 系统相关 >linux关于CPU使用率以及psutil真正计算CPU使用率的调研

linux关于CPU使用率以及psutil真正计算CPU使用率的调研

时间:2024-07-10 17:19:31浏览次数:10  
标签:iowait psutil 时间 进程 使用率 CPU nice

不一定准确,只是个人的分析

CPU使用率

mpstat -u

通过查看每个CPU核心的用户进程使用时间(%usr)来计算CPU使用率的。它只考虑了用户进程的CPU使用情况,而不考虑内核进程的CPU使用情况。

 

这种计算方式会更大

CPU使用率=2.19+4.57=6.76

 

Top

将用户进程(us)和内核进程(sy)的CPU使用时间相加来计算的。它考虑了所有进程的CPU使用情况。

举例

 

CPU使用率 = 100 * (user + nice + system) / (user + nice + system + idle + iowait + irq + softirq)=3.2

- %CPU:进程在CPU上的占用率,它是用户态、内核态和nice值的总和除以总的CPU时间。

- user:进程在用户态运行的时间。 用户时间

- nice:进程以较低优先级运行的时间。 用户时间

- system:进程在内核态运行的时间。 系统时间

- idle:CPU处于空闲状态的时间。 空闲时间

- iowait:CPU等待IO操作完成的时间。 空闲时间

- irq:CPU处理硬件中断的时间。系统时间的一部分

- softirq:CPU处理软件中断的时间。系统时间的一部分

 

Psutil的计算方式

CPU忙时间/总CPU时间*100%

CPU忙时间=CPU时间差-guest虚拟机时间-idle-iowait

虚拟机的CPU时间是由虚拟机监控程序(VMM)来维护的

  1. 计算CPU时间差,间隔是1秒

官方->为了准确起见,建议在两次调用之间至少间隔 0.1 秒再次调用此函数。

CPU时间差= CPU时间2-CPU时间1

CPU时间=/proc/stat下

 

分别对应'user', 'nice', 'system', 'idle', 'iowait', 'irq', 'softirq'

通过每个cpu的值除以cpu时钟得到,是一个集合

CPU时钟是系统时钟每秒钟的滴答数,通过getconf CLK_TCK得到

 

  1. 计算总的CPU时间, 用户时间(user)和优先级较低的进程时间(nice)已经包含了虚拟机时间(guest)的计算

总CPU时间= CPU时间差-guest虚拟机时间

例:

截图两次后

 

 

 

针对cpu时间差

User=28,nice=0,system=28,idle=4005,iowait=1,irq=4,softirq=2

不要idle和iowait,求和user+system+irq+softirq=28+28+4+2=62

总的CPU时间是4067

两者相除就是62/4067=1.5%

实际上还要分子分母同除时间间隔,我大概是1.5秒到2秒的时间。

 

注意以上不一定准确!!!待各位纠正

标签:iowait,psutil,时间,进程,使用率,CPU,nice
From: https://www.cnblogs.com/immersed-in-the-deep-sea/p/18294595

相关文章

  • 你真的懂多线程吗?多线程 并行处理 CPU 操作系统
    了解多线程、并行处理首先需要了解什么CPU、CPU核数、操作系统CPU物理数即电脑拥有的物理CPU数量,普通电脑一般只有一个CPU插槽,也就是只有一个物理CPU。我们日常说的CPU,就是指封装好的一个物理CPU,作为商品进行售卖。但在编程讨论时,某些情况下,我们说的CPU含义又是指其中一个运算......
  • 初创芯片公司非常疯狂,将CPU性能提高100倍
    初创芯片公司非常疯狂,将CPU性能提高100倍[http://mp.weixin.qq.com/s?__biz=Mzg2NDgzNTQ4MA**&mid=2247741576&idx=5&sn=733a2dffecbfd99e41e97e93e204b2cb&chksm=ce6e327ff919bb691bf4e3ed418f27d816846b1c577477d5d7f063c103e01d9d4cbeca47195b&mpshare=1&scen......
  • 初创芯片公司非常疯狂,将CPU性能提高100倍
    初创芯片公司非常疯狂,将CPU性能提高100倍[http://mp.weixin.qq.com/s?__biz=Mzg2NDgzNTQ4MA**&mid=2247741576&idx=5&sn=733a2dffecbfd99e41e97e93e204b2cb&chksm=ce6e327ff919bb691bf4e3ed418f27d816846b1c577477d5d7f063c103e01d9d4cbeca47195b&mpshare=1&scen......
  • 初创芯片公司非常疯狂,将CPU性能提高100倍
    初创芯片公司非常疯狂,将CPU性能提高100倍[http://mp.weixin.qq.com/s?__biz=Mzg2NDgzNTQ4MA&mid=2247741576&idx=5&sn=733a2dffecbfd99e41e97e93e204b2cb&chksm=ce6e327ff919bb691bf4e3ed418f27d816846b1c577477d5d7f063c103e01d9d4cbeca47195b&mpshare=1&scene=......
  • 初创芯片公司非常疯狂,将CPU性能提高100倍
    初创芯片公司非常疯狂,将CPU性能提高100倍[http://mp.weixin.qq.com/s?__biz=Mzg2NDgzNTQ4MA&mid=2247741576&idx=5&sn=733a2dffecbfd99e41e97e93e204b2cb&chksm=ce6e327ff919bb691bf4e3ed418f27d816846b1c577477d5d7f063c103e01d9d4cbeca47195b&mpshare=1&scene=......
  • 信创学习笔记(二),信创之CPU芯片架构思维导图
    创作不易只因热爱!!热衷分享,一起成长!“你的鼓励就是我努力付出的动力”各架构,操作系统,指令,代表生产商,服务器使用产品主要供应商......
  • 外贸人做EDM邮件群发营销时都用什么邮箱?目前使用率较高的主流邮箱汇总
    在2024年使用率较高的邮箱如下,列举出的邮箱(包含但不限于)也可与Geeksend--集成式自动化邮件营销管理平台进行连接。高效获取管理潜在客户,营销信息即刻送达,效率和收益持续提高,全方位助力您的营销业务!Gmail(谷歌邮箱):市场份额与活跃度:Gmail是世界上最受欢迎的免费邮箱之一,其活跃......
  • k8s 关闭 enableServiceLink-Pod-CPU-内存占用过高
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<特性说明:enableServiceLinks特性,是k8s提供给pod发现和访问svc的两种方案之一(另一种是DNS)。该特性在pod启动时,kubelet会将activesvc通过env {SVCNAME}_SERVICE_HOST、......
  • 嵌入式C语言面试相关知识——CPU、进程和线程相关(相关问题很多,会经常过来更新)
    嵌入式C语言面试相关知识——CPU、进程和线程相关一、博客声明二、自问题目——CPU相关1、什么是中断?如何处理中断?2、解释上下文切换(ContextSwitch)?3、在嵌入式中如何优化CPU使用?三、自问题目——进程相关1、什么是进程?2、嵌入式系统中进程和线程的区别是什么?3、在嵌......
  • PN转232网关模块接扫码枪与CPU通讯
    在现代物流、汽车生产线等领域,广泛使用条码扫码枪快速扫描产品条码,提高工作效率。为了保证条码扫码枪与CPU之间的准确通信,PN转232网关模块成为关键部件。本文将深入研究PN转232网关模块(BT-PNR20)的作用和原理,以及如何实现条码扫码枪与CPU之间的高效通信。一、PN转232网关模块的功......