5636联盟 2

网吧系统

Linux系统下怎样查看进程的CPU占用率
2017-08-22 作者:欣欣 点击: 2,944次

  在前面的文章中我们曾向大家介绍了Subversion系统中运行hook脚本的方法,不知道大家觉得怎么样呢!现在我们要向大家介绍一下Linux系统下怎样查看进程的CPU占用率!下面大家还是跟着我们5636网吧联盟的网吧系统栏目一起去看看吧!
  据了解,通常/proc下每个进程都有一个目录,目录下的stat文件可以得到关于该进程的信息,如:#cat/proc/2122/stat
  2122 (sshd) S 6599 2122 2122 0 -1 8448 1110 217 0 1 20 3 12 0 15 0 1 0 242306177 8482816 592 4294967295 134512640 134795532 3221224656 3221220240 4294960144 0 0 4096 73728 0 0 0 17 0 0 0

  每一项的具体内容可以看man:man5proc
  cpu的占用率似乎并不能直接得到,大家需要自己去计算,个人猜想做法是从/proc得到所有进程的信息,通过每个进程的运行时间,可以计算出某个进程的占用率
  ,给大家参考一下,还没整理的:
  charbuf[64];
  sprintf(buf,"/proc/%d/stat",pid);
  FILE*fid=fopen(buf,"r");
  if(fid){
  fscanf(fid,"%d%s%c%d%d%d%d%d%lu%lu"
  "%lu%lu%lu%lu%lu%ld%ld%ld%ld%ld"
  "%ld%ld%lu%lu%ld%lu%lu%lu%lu%lu",
  &pstat[0],buf,&pstat[2],&pstat[3],&pstat[4],&pstat[5],&pstat[6],&pstat[7],
  &pstat[8],&pstat[9],&pstat[10],&pstat[11],&pstat[12],&pstat[13],&pstat[14],&pstat[15],
  &pstat[16],&pstat[17],&pstat[18],&pstat[19],&pstat[20],&pstat[21],&pstat[22],&pstat[23],
  &pstat[24],&pstat[25],&pstat[26],&pstat[27],&pstat[28],&pstat[29],&pstat[30]);
  fclose(fid);
  。。。。。
  ut=pstat[13];
  st=pstat[14];
  cut=pstat[15];
  cst=pstat[16];
  。。。。。
  ts=time(NULL)-lasttime;
  百分比=(ut+st-sut-sst)/ts
  Linux系统下查看进程的CPU占用率的方法就是这样了,大家如果还有不明白的地方可以去本站的网吧系统栏目去查找,如果找不到解决办法,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!

以上内容整理自互联网,如有侵权,请立即与小编联系,小编将及时处理。转载或引用本网版权所有之内容请注明来源,感谢您对本站的支持! 联系QQ:2850592923 欢迎加入网吧业主 交流群:614859884(已满)397580722(可加)

点击排行榜