当前位置:  技术问答>linux和unix

【求助】如何在应用程序中得到系统的剩余物理内存大小?

    来源: 互联网  发布时间:2015-11-03

    本文导语:  RT,如何在应用程序中得到系统的剩余可用物理内存大小? | /*  * get the mm usage  */ int getOnceMemUsage() { float memusage; FILE *fp; char buffer[1024]; size_t byte_read; char *pos; int totalmem; int freemem;...

RT,如何在应用程序中得到系统的剩余可用物理内存大小?

|
/*
 * get the mm usage
 */
int getOnceMemUsage()
{
float memusage;
FILE *fp;
char buffer[1024];
size_t byte_read;
char *pos;
int totalmem;
int freemem;

fp = fopen("/proc/meminfo", "r");
byte_read = fread(buffer, 1, sizeof(buffer), fp);
fclose(fp);

if (byte_read==0 || byte_read==sizeof(buffer))
return -1;
buffer[byte_read] = '';
pos = strstr(buffer, "MemTotal:");
if (NULL==pos) 
return -1;
sscanf(pos, "MemTotal:       %d kB", &totalmem);
pos = strstr(pos, "MemFree:");
if (NULL==pos) 
return -1;
sscanf(pos, "MemFree:       %d kB", &freemem);
memusage = (totalmem-freemem)  * 100.0 / totalmem;
printf("### MemUsage(total:%d free:%d %MEM:%3.2f%)n", totalmem, freemem, memusage);
    
        return 0;
}

|
读取/proc/meminfo文件

|
TO
YanDong_8212(谢科) 

你的办法不行
还有虚模内存

|
可以计算,但方法笨拙,直接得到还不太清楚。
不断的malloc能计算出来。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助:如何修改QSlider的“滑块”大小?
  • 求助,在Linux下当文件夹大小超过1G时,删除文件夹内容
  • 求助~~~如何统计目录大小~~~
  • 求助关于zip命令,如何把文件压缩成指定大小的多个文件(Ubuntu7.04)
  • 求助!如何控制被随机使用的端口号的大小?
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3