首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言中的内存计算

C语言中的内存计算
EN

Stack Overflow用户
提问于 2015-10-15 01:18:59
回答 1查看 119关注 0票数 0

我正在尝试拉出计算机的实际内存,并想知道为什么

sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE)和/proc/meminfo

代码语言:javascript
复制
#include <stdio.h>
#include <unistd.h>


int main(){
  unsigned long long ram = (sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE));
  printf("%lli = ram\n", ram);
  return 0;
}

输出= 8325185536

8325185536字节= 8.325185536 Gb

代码语言:javascript
复制
User > cat /proc/meminfo
MemTotal:        8130064 kB

8130064kB =8.130064

0.195121536 off关闭?

EN

回答 1

Stack Overflow用户

发布于 2015-10-15 02:25:38

由于历史原因,在报告内存时,操作系统使用基于2的幂的单位,即使它们没有为这些单位使用正确的SI前缀。因此,当它说"8130064 kB“时,它意味着8,130,064 KiB,或8,325,185,536字节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33131736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档