我无法找出 VirtualBox 机器设置中设置的值与MemTotal
中显示的精确值之间的可靠转换/proc/meminfo
。
一些测试值
Configured(M) /proc/meminfo (K)
1024 1008560
2048 2040752
4096 4039168
6000 5958144
7000 6965768
8096 8069636
尝试线性拟合,让我明白997*x-17133
。
使用默认 vram 可以轻松解释偏移量,但该拟合中的 ~1% 错误让我感到困惑。
有关于非线性从何而来的信息吗?
答案1
MemTotal 是 定义 作为:
总可用 RAM(即物理 RAM 减去一些保留位和内核二进制代码)
结果是 MemTotal 可能会发生变化,因为它不显示内核二进制文件本身在内存中使用的内存。模块可以根据需要加载和卸载,并可能动态分配内存,这些内存可能会变得碎片化并增长。
“丢失”的内存是内核本身。可以通过减少内核来减少内存,但坦率地说,这样做不值得,而且会影响性能。