【发布时间】:2017-09-14 20:13:47
【问题描述】:
struct sysinfo sys_info;
int32_t total_ram = 0;
if (sysinfo(&sys_info) != -1)
total_ram = (sys_info.totalram * sys_info.mem_unit)/1024;
上述代码中的 total_ram 的值为 3671864。但 /proc/meminfo 显示的值不同。
cat /proc/meminfo | grep MemTotal
MemTotal: 16255004 kB
为什么它们不同?在 Linux 中获取物理 RAM 大小的正确方法是什么?
【问题讨论】: