我正在尝试拉出计算机的实际内存,并想知道为什么
sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE)和/proc/meminfo
#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
User > cat /proc/meminfo
MemTotal: 8130064 kB8130064kB =8.130064
0.195121536 off关闭?
发布于 2015-10-15 02:25:38
由于历史原因,在报告内存时,操作系统使用基于2的幂的单位,即使它们没有为这些单位使用正确的SI前缀。因此,当它说"8130064 kB“时,它意味着8,130,064 KiB,或8,325,185,536字节。
https://stackoverflow.com/questions/33131736
复制相似问题