linux中的实际CPU使用率

cat /proc/stat
cpu  2255 34 2290 22625563 6290 127 456
cpu 2032004 102648 238344 167130733 758440 15159 17878 0
user (2032004)
从系统启动开始累计到当前时刻,用户态的CPU时间,不包含nice值为负进程。

nice (102648)
从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间

system (238344)
从系统启动开始累计到当前时刻,核心时间

idle (167130733)
从系统启动开始累计到当前时刻,除IO等待时间以外其它等待时间

iowait (758440)
从系统启动开始累计到当前时刻,IO等待时间

irq (15159)
从系统启动开始累计到当前时刻,硬中断时间

softirq (17878)
从系统启动开始累计到当前时刻,软中断时间

CPU的即时利用率的计算公式:

CPU在t1到t2时间段总的使用时间 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)

CPU在t1到t2时间段空闲使用时间 = (idle2 - idle1)

CPU在t1到t2时间段即时利用率 = 1 - CPU空闲使用时间 / CPU总的使用时间

uptime通过/proc/uptime和/proc/loadavg获取相关信息。
up前是当前系统时间,up后是系统运行时长。
load average后是1分钟、5分钟、15分钟平均负载。
11:15:41 up 82 days, 20:34, 8 users, load average: 0.28, 0.40, 0.43

posted @ 2020-03-03 09:15  friedCoder  阅读(210)  评论(0)    收藏  举报