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

dongpy 2005-12-16 11:07:21
RT,如何在应用程序中得到系统的剩余可用物理内存大小?
...全文
166 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongpy 2005-12-21
  • 打赏
  • 举报
回复
除了从文件中读取信息,还有其他方法吗?
kindred 2005-12-16
  • 打赏
  • 举报
回复
TO
YanDong_8212(谢科)

你的办法不行
还有虚模内存
yyy790601 2005-12-16
  • 打赏
  • 举报
回复
/*
* 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] = '\0';
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;
}
dlgy 2005-12-16
  • 打赏
  • 举报
回复
up
yuanlei1978113 2005-12-16
  • 打赏
  • 举报
回复
读取/proc/meminfo文件
YanDong_8212 2005-12-16
  • 打赏
  • 举报
回复
可以计算,但方法笨拙,直接得到还不太清楚。
不断的malloc能计算出来。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧