htop 内存使用率计算
来源:互联网 发布:未注册网络什么意思 编辑:程序博客网 时间:2024/05/22 13:09
inux下的内存CPU等资源的使用情况可通过解析伪文件系统/proc中的相关文件获得。htop就是通过解析该目录下的/proc/meminfo文件得到CPU的核数以及动态的使用情况。
通过cat /proc/meminfo命令可以查看该文件内容,非常直观,这里不多解释。
通过cat /proc/meminfo命令可以查看该文件内容,非常直观,这里不多解释。
可通过如下代码计算内存的使用率:
#include<stdio.h>#include<stdlib.h>#include<string.h>#define startsWith(s, match) (strstr((s), (match)) == (s))typedef struct MemInfo{unsigned long long totalMem;unsigned long long freeMem;}MemInfo;void memUse(){FILE *fp = fopen("/proc/meminfo", "r");if(fp == NULL)exit(1);MemInfo memi;char buffer[128];while(1){while(fgets(buffer, 128, fp)){if(startsWith(buffer, "MemTotal:"))sscanf(buffer, "MemTotal: %llu kB", &memi.totalMem);else if(startsWith(buffer, "MemFree:"))sscanf(buffer, "MemFree: %llu kB", &memi.freeMem);}double userate = 1.0 * (memi.totalMem - memi.freeMem) / memi.totalMem * 100.0;printf("total=%llu kB, free=%llu kB\n", memi.totalMem, memi.freeMem);printf("memUseRate=%.3lf%%\n", userate);sleep(2);fflush(fp);rewind(fp);}}void main(){memUse();}
对htop源代码感兴趣的话,可以研读以下htop相关的代码片段:
htop源码获取:http://download.csdn.net/detail/u014495327/7142007
char buffer[128]; while (fgets(buffer, 128, file)) { switch (buffer[0]) { case 'M': if (String_startsWith(buffer, "MemTotal:")) sscanf(buffer, "MemTotal: %llu kB", &this->totalMem); else if (String_startsWith(buffer, "MemFree:")) sscanf(buffer, "MemFree: %llu kB", &this->freeMem); else if (String_startsWith(buffer, "MemShared:")) sscanf(buffer, "MemShared: %llu kB", &this->sharedMem); break; case 'B': if (String_startsWith(buffer, "Buffers:")) sscanf(buffer, "Buffers: %llu kB", &this->buffersMem); break; case 'C': if (String_startsWith(buffer, "Cached:")) sscanf(buffer, "Cached: %llu kB", &this->cachedMem); break; case 'S': if (String_startsWith(buffer, "SwapTotal:")) sscanf(buffer, "SwapTotal: %llu kB", &this->totalSwap); if (String_startsWith(buffer, "SwapFree:")) sscanf(buffer, "SwapFree: %llu kB", &swapFree); break; } }
0 0
- htop 内存使用率计算
- htop CPU使用率计算
- linux 计算内存使用率
- 如何正确计算LINUX内存使用率
- LINUX计算CPU、内存的使用率
- nagios插件之计算内存使用率
- linux平台如何计算内存使用率
- LINUX计算CPU、内存的使用率
- 正确计算linux系统内存使用率
- 正确计算linux系统内存使用率
- 正确计算linux系统内存使用率
- linux下计算内存使用率的脚本
- 正确计算linux系统内存使用率
- 正确计算linux系统内存使用率
- 正确计算linux系统内存使用率
- Android计算当前手机内存使用率
- android 访问cpu和内存信息 计算cpu使用率
- linux下计算进程cpu使用率和内存使用率的方法
- 费砀山发给
- 题目1116:加减乘除
- 把网页用样式变成黑白,支持多个浏览器
- requirejs 简介
- TCP协议分析
- htop 内存使用率计算
- 设计模式之6大原则(1)-单一职责原则
- Asp.Net Jquery ajax异步请求
- 在linux挂载windows共享Mount CIFS
- 【oracle教程】Starting with Oracle Warehouse Builder 11g Release 1
- Eclipse Java EE + Tomcat 搭建J2EE开发环境
- myeclipse配置hadoop开发环境
- Redis 关键 点
- JAVA test_windowClosing