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

linux – 为什么 procmeminfo中的值似乎没有完全映射到系统RAM?,第1张

概述MemTotal的/ proc / meminfo中的值没有意义.作为一个有眼力的人,它似乎大致对应于已安装的RAM,但是为了使用它来显示自动化实用程序中安装的RAM,它似乎是不精确的,并且不一致. 对于具有1G RAM的系统,我希望MemTotal行的值为1048576 – 1024 * 1024.但相反,我看到1029392.在另一个4G盒子上,我看到3870172,这不是1024的倍数,它甚 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 – 为什么/ proc / meminfo中的值似乎没有完全映射到系统RAM?全部内容,希望文章能够帮你解决linux – 为什么/ proc / meminfo中的值似乎没有完全映射到系统RAM?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存