CPU指标的含义

Top Cpu指标简介

这是一张top的截图:
在这里插入图片描述
里面在第三行描述了CPU相关信息,分别是:

Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

这里分别介绍下:

指标全拼含义
ususer用户态CPU使用时间占总CPU使用时间的百分比
sysystem内核态CPU使用时间占总CPU使用时间的百分比
ninice改变过优先级的进程占总CPU使用时间的百分比
ididle空闲CPU使用时间占总CPU使用时间的百分比
waIOWait等待IO时间占总CPU使用时间的百分比
hihardware interrupt硬件中断消耗的CPU时间占总CPU使用时间的百分比
sisoft interrupt软件中断消耗的CPU时间占总CPU使用时间的百分比
ststeal表示如果这台物理机有多个虚拟机,从其他虚拟机占用我们虚拟机CPU时间占总CPU使用时间的百分比

那么CPU使用率是怎么算的呢:

CPU使用率=1-(CPU空闲时间/CPU总时间)

Top Cpu指标来源

Top Cpu指标是来自/proc/stat 里的内容,如下:

[zhaozheng@test ~]$ cat /proc/stat
cpu  2324030555 73206 237764507 90266964938 1188157 0 4091713 0 0 0
cpu0 60612825 1617 5895871 2244759487 350993 0 1962880 0 0 0
cpu1 58713976 2044 6156980 2253262197 39625 0 653733 0 0 0

上述表格有10列,分别是:

name   user  nice   system      idle      iowait  irrq  softirq  steal guest guest_nice 

跟在Top指标中多出来了:guest guest_nice 这两项也是仅跟虚拟机相关。

进程占用CPU情况

在top命令中可以看到每个进程所占CPU时间的百分比,top默认是CPU排序的,所以第一行的进程就是占用CPU最多的进程。那么如果想看进程的CPU详细信息怎么办呢。

进程CPU占用情况

因为CPU调度的基本单位是线程,所以理论上是可以看到进程中每个线程所占CPU的百分比的,在命令行中键入top -Hp 进程id 即可看到进程中每个线程占用CPU时间的百分比。那top的这些数据是哪里来的呢。
数据cat /proc/进程id/stat 就又能拿到一个表格,这个表格就是当前进程CPU的详细信息,总共有50多列,这里就不一一介绍了。我抄了别人的一篇文章有兴趣可以看下:https://blog.csdn.net/zyboy2000/article/details/50456764

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值