的总cpu使用率是通过cat/proc/stat (用户、nice、系统、idle、iowait、irq、softirq、stealstolen和guest )这九对获得的
从cpu启动到现在的总时间: total CPU time=usernicesystemidleiowaitirqsoftirqstealstolenguest
从cpu启动到现在的空闲时间: idle
再留出两个足够短的时间,计算一下差就可以了
读取各个进程的cpu使用率统计cat /proc/pid/stat
pid=6873进程号
utime=1587此任务在用户状态下运行的时间。 单位为jiffies
stime=41958此任务在核心状态下运行的时间。 单位为jiffies
cutime=0所有死线程在用户状态下运行的时间。 单位为jiffies
cstime=0死于核心状态的所有时间,单位为jiffies
进程总cpu时间=utime stime cutime cstime
然后,可由两个时间快照的cpu使用时间差/总cpu时间差