通过/proc/stat文件计算CPU的利用率
发布时间:2020-12-16 07:43:19 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 //gino//20150712#include stdio.h#include string.hint main(){ int m_user,m_nice,m_system,m_idle,m_iowait,m_irq,m_softirq,m_stealstolen,m_gues
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 //gino //20150712 #include <stdio.h> #include <string.h> int main(){ int m_user,m_nice,m_system,m_idle,m_iowait,m_irq,m_softirq,m_stealstolen,m_guest; char buff[128]={' '}; char m_cpu[5]; int all_1,all_2,idle_1,idle_2; FILE *fp = fopen("/proc/stat","r"); fgets(buff,128,fp); sscanf(buff,"%s%d%d%d%d%d%d%d%d%d", m_cpu,&m_user,&m_nice,&m_system,&m_idle,&m_iowait, &m_irq,&m_softirq,&m_stealstolen,&m_guest); all_1 = m_user + m_nice + m_system + m_idle + m_iowait + m_irq + m_softirq + m_stealstolen + m_guest; idle_1 = m_idle; int m_cpu_1 = m_user + m_nice + m_system; rewind(fp); sleep(1); bzero(buff,128); fgets(buff,&m_guest); all_2 = m_user + m_nice + m_system + m_idle + m_iowait + m_irq + m_softirq + m_stealstolen + m_guest; idle_2 = m_idle; int m_cpu_2 = m_user + m_nice + m_system; /*cpu 总使用率计算公式 cpu_use_rate = 100 * [(taotal_2 - taotal_1) - (idle_2 - idle_1)] / (cpu_2 - cpu_1) */ float cpu_use_rate = 100*( (float)(all_2 - all_1) - (float)(idle_2 - idle_1)) / (float)(all_2 - all_1); printf("%04.2f%%n",cpu_use_rate); /* cpu 总使用率计算公式 [(user_2 +sys_2+nice_2) - (user_1 + sys_1+nice_1)]/(total_2 - total_1)*100 */ cpu_use_rate = (float)(m_cpu_2 - m_cpu_1) / (float)(all_2 - all_1) * 100; printf("%04.2f%%n",cpu_use_rate); /* cpu 未使用率计算公式 (idle2-idle1)/(cpu2-cpu1)*100 */ cpu_use_rate = ( (float)(idle_2 - idle_1)) / (float)(all_2 - all_1) *100; printf("%04.2f%%n",cpu_use_rate); return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |