Linux c获取CPU占用率

第一步:
查看/proc/stat
这里面统计的是CPU的信息。第一行是所有CPU的统计信息。我们需要前4个数字

cpu  130216 19944 162525 1491240 3784 24749 17773 0 0 0

前四位分别表示:
user,nice, system, idle
将他们相加得到total_CPU

第二步:
查看/proc/数字(pid)/stat
这里统计的是某个进程的信息,路径中的数字就是进程的pid。
这里有52个数字。我们需要第14和15个,表示该程序的用户态时间和内核态时间
将这两个数字相加得到proc_CPU

第三步
查看CPU个数
再/proc/cpuinfo里面查看
记为num_CPU

第四步
统计一次total_CPU和proc_CPU记为total_CPU1和proc_CPU1
sleep3秒钟
再统计一次total_CPU和proc_CPU记为total_CPU2和proc_CPU2

然后根据公式统计出CPU占用率
num_CPU*(proc_CPU2-proc_CPU1)*100.0/(total_CPU2-total_CPU1)

代码

#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <string.h>
#include <stdlib.h>
#include<signal.h>

FILE *CPULog;

void shutdownGetCPU()
{
	fclose(CPULog);
	exit(0);
}

//获取总的CPU时间
unsigned long get_cpu_
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值