MFC中获取CUP内存磁盘使用情况

MFC中获取CUP内存磁盘使用情况

ID:40562785

大小:49.81 KB

页数:9页

时间:2019-08-04

MFC中获取CUP内存磁盘使用情况_第1页
MFC中获取CUP内存磁盘使用情况_第2页
MFC中获取CUP内存磁盘使用情况_第3页
MFC中获取CUP内存磁盘使用情况_第4页
MFC中获取CUP内存磁盘使用情况_第5页
资源描述:

《MFC中获取CUP内存磁盘使用情况》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、获取CPU,内存使用率,磁盘相关信息[cpp]viewplaincopyprint?1.[cpp]viewplaincopyprint?1.CPU信息[cpp]viewplaincopyprint?1.boolget_cpuoccupy(CPU_OCCUPY*cpust)//对无类型get函数含有一个形参结构体类弄的指针O2.{3.FILE*fd;4.charbuff[256];5.CPU_OCCUPY*cpu_occupy;6.cpu_occupy=cpust;7.8.if((fd=fopen("/proc/stat","r"))<=0

2、)9.returnfalse;10.memset(buff,0,256);11.fgets(buff,sizeof(buff),fd);12.13.sscanf(buff,"%s%u%u%u%u",cpu_occupy->name,&cpu_occupy->user,14.&cpu_occupy->nice,&cpu_occupy->system,&cpu_occupy->idle);15.16.fclose(fd);17.returntrue;18.}19.20.//获取CPU频率MHZ21.boolget_cpu_info(unsig

3、nedint*total)22.{23.FILE*fd;1.charbuff[256];2.charname[128],Hz[128],tmp[128];3.char*p;4.5.*total=0;6.if((fd=fopen("/proc/cpuinfo","r"))<=0)7.returnfalse;8.memset(buff,0,256);9.for(inti=0;i<7;i++)10.{11.fgets(buff,sizeof(buff),fd);12.}13.14.sscanf(buff,"%s%s%s%s",name,Hz,t

4、mp,tmp);15.p=strtok(tmp,".");16.*total=atoi(p);17.18.fclose(fd);19.returntrue;20.}计算CPU使用率[cpp]viewplaincopyprint?1.intcal_cpuoccupy(CPU_OCCUPY*o,CPU_OCCUPY*n)2.{3.unsignedlongoldtatal,newtotal;4.unsignedlongid,sd,nd;5.intcpu_use=0;6.7.oldtatal=(unsignedlong)(o->user+o->n

5、ice+o->system+o->idle);//第一次(用户+优先级+系统+空闲)的时间再赋给od8.newtotal=(unsignedlong)(n->user+n->nice+n->system+n->idle);//第二次(用户+优先级+系统+空闲)的时间再赋给od9.10.id=(unsignedlong)(n->user-o->user);//用户第一次和第二次的时间之差再赋给id11.nd=(unsignedlong)(n->nice-o->nice);1.sd=(unsignedlong)(n->system-o->sy

6、stem);//系统第一次和第二次的时间之差再赋给sd2.if((newtotal-oldtatal)!=0)3.cpu_use=(int)((sd+id+nd)*10000)/(newtotal-oldtatal);//((用户+系统)乖100)除(第一次和第二次的时间差)再赋给g_cpu_used4.else5.cpu_use=0;6.returncpu_use;7.}内存信息[cpp]viewplaincopyprint?1.boolget_memoccupy(MEM_OCCUPY*mem)//对无类型get函数含有一个形参结构体类

7、弄的指针O2.{3.FILE*fd;4.charbuff[256],tmp[20];5.MEM_OCCUPY*m;6.m=mem;7.8.if((fd=fopen("/proc/meminfo","r"))<=0)9.{10.returnfalse;11.}12.13.memset(buff,0,256);14.fgets(buff,sizeof(buff),fd);15.sscanf(buff,"%s%lu%s",m->name,&m->total,tmp);16.17.memset(buff,0,256);18.fgets(buff,

8、sizeof(buff),fd);//从fd文件中读取长度为buff的字符串再存到起始地址为buff这个空间里19.sscanf(buff,"%s%lu%s",m->name2,&m->fre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。