linux – 为什么/ proc / meminfo中的值似乎没有完全映射到系统RAM?

前端之家收集整理的这篇文章主要介绍了linux – 为什么/ proc / meminfo中的值似乎没有完全映射到系统RAM?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
MemTotal的/ proc / meminfo中的值没有意义.作为一个有眼力的人,它似乎大致对应于已安装的RAM,但是为了使用它来显示自动化实用程序中安装的RAM,它似乎是不精确的,并且不一致.

对于具有1G RAM的系统,我希望MemTotal行的值为1048576 – 1024 * 1024.但相反,我看到1029392.在另一个4G盒子上,我看到3870172,这不是1024的倍数,它甚至不接近1029392 * 4.在一个8G的盒子上,我得到8128204,它似乎与其他值没有相关性,也不是1024的倍数.

我正在尝试使用此信息在状态网页上报告RAM.我的解决方法是将其“舍入”到最接近的1G倍数,但我想了解为什么这些值看起来不一致并且与我的期望不符.

有人可以填写我在这里缺少的东西吗?

编辑:扩展下面接受的答案….

参考文献可以找到here.

我也从该页面感兴趣,这解释了不一致性,这一点:

meminfo:

Provides information about distribution and utilization of memory. This
varies by architecture and compile options. …

解决方法

从Documentation / filesystems / proc.txt:
MemTotal: Total usable ram (i.e. physical ram minus a few reserved
          bits and the kernel binary code)

你去吧

附录:

dmesg | grep记忆:会给你更多:

$dmesg|grep Memory:
Memory: 3934184k/5177344k available (4434k kernel code,1091560k absent,151600k reserved,7433k data,920k init)

附录二:

还有一点值得补充的是,/ proc中的所有内容都至少包含该文件中的粗略文档,所以只要你有类似的问题,这是一个很好的第一站.

猜你在找的Linux相关文章