- 论坛徽章:
- 3
|
献一段代码,供参考:- //获取用户空间的cpu占用率
- static float GetUserCpuPercent()
- {
- char name[64] = {0};
- char buffer[1024] = {0};
-
- static int user0 = 0, total0 = 0;
- int user1, nice, sys, idle, iowait, irq, softirq, total1 = 0;
- float fRet = 0.0;
- FILE *fp = fopen("/proc/stat","r");
- if(!fp)
- {
- fprintf(stderr,"fopen failed:%s\n",strerror(errno));
- return -1.0;
- }
- fgets(buffer,sizeof(buffer),fp);
- sscanf(buffer,"%s %d %d %d %d %d %d %d",name,&user1,&nice,&sys,&idle,&iowait,&irq,&softirq);
- total1 = user1+nice+sys+iowait+irq+softirq+idle;
- fRet = (user1-user0)*100/(double)(total1-total0);
- user0 = user1;
- total0 = total1;
- fclose(fp);
- return fRet;
- }
复制代码 |
|