是否可以通过 Linux 中的 /sys 从特定内核获取当前 CPU 利用率?

新字节

我想编写一个 shellscript,它可以在每个核心的基础上读取当前的 CPU 利用率。是否可以从/sysLinux (CentOS 8)目录中读取它我发现/sys/bus/cpu/drivers/processor/cpu0这确实给了我相当多的信息(比如当前频率),但我还没有弄清楚如何读取 CPU 利用率。

换句话说:有没有一个文件可以告诉我 Linux 中特定 CPU 内核的当前利用率,特别是 CentOS 8?

破折号

我相信您应该能够从 /proc/stat 中提取信息 - 以 cpu$N 开头的行,其中 $N 是 0, 1, 2, ...... 例如:

强烈建议阅读其他答案中引用的文章。

cpu0 101840 1 92875 80508446 4038 0 4562 0 0 0
cpu1 81264 0 68829 80842548 4424 0 2902 0 0 0

重复调用将显示更大的值:

cpu  183357 1 162020 161382289 8463 0 7470 0 0 0
cpu0 102003 1 93061 80523961 4038 0 4565 0 0 0
cpu1 81354 0 68958 80858328 4424 0 2905 0 0 0

注意 CPU0 第 5 列(空闲计数)从 80508446 移动到 80523961

中每一行的格式

cpuN 用户时间好时间系统时间空闲时间 io-wait ireq softirq 窃取来宾 guest_nice

所以一个基本的解决方案:

while true ;

   for each cpu
       read current counters, at least user-time system-time and idle 
       usage = current(user-time + system-time) - prev(user-time+system-time)
       idle = current(idle) - prev(idle)
       utilization = usage/(usage+idle)
       // print or whatever.
       set prev=current
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过/ sys / class / net获取当前的网络利用率

在C#中获取当前的CPU利用率

检查Linux中cpu利用率的脚本

设置Linux中CPU核心利用率的限制

在MATLAB中显示CPU内核利用率

通过 /proc/stat 当前 CPU 核心利用率

如何在python中获取CPU利用率?

如何在 kubernetes 中获取命名空间、pod、服务的 CPU 利用率、内存利用率?

使用/ proc / stat准确计算Linux中的CPU利用率

使用python sdk在azure中获取虚拟机的cpu利用率

如何从 docker 容器中获取主机信息(CPU 利用率)?

无法通过python paramiko获取远程服务器上的cpu利用率

通过java客户端获取运行aws实例的CPU利用率指标

通过重组节点提高CPU利用率

确定CPU利用率

计算CPU利用率

HPA(水平容器自动缩放)是否考虑了多个容器(容器)中CPU利用率的平均值来缩放容器?

Ubuntu 20.04 顶部窗格中的 CPU、内存利用率?

如何在Windows 8中提高进程的cpu利用率

如何在Windows 8中提高进程的cpu利用率

如何在终端(Mac)中获得以%为单位的CPU利用率

如何使用Sigar查找Java中的总CPU利用率

gettimeofday,QTime或QLabel-> setText中的100%CPU利用率

MySQL中的CPU利用率有时会很高

在哪里可以找到用于AWS Lambda的New Relic上的CPU和内存利用率?

计算LPAR CPU利用率(AIX)

确定CPU利用率的时间

为什么实际的CPU利用率百分比超过Kubernetes中的Pod CPU限制

Linux bash脚本编制:使用awk汇总一列以了解总体cpu利用率并显示所有字段