我有一个 64 位桌面,运行 32 位 Debian - 2G 内存。
user@box:~/$ head -n 1 /proc/meminfo MemTotal: 2030324 kB
但是当我要求免费报告内存时,我看到:
user@box:~$ free -g
total used free shared buffers cached
Mem: 1 1 0 0 0 1
-/+ buffers/cache: 0 1
Swap: 2 0 2
Run Code Online (Sandbox Code Playgroud)
我很困惑,为什么当实际物理内存为 2G 时,free 报告的总内存仅为 1G 。有人可以解释如何根据我的机器规格正确协调 free 的输出吗?
这是一个四舍五入的问题。例如在我的一台机器上:
devtest:~# free -m
total used free shared buffers cached
Mem: 7881 2780 5100 0 26 2417
-/+ buffers/cache: 336 7545
Swap: 7632 0 7632
devtest:~# free -g
total used free shared buffers cached
Mem: 7 2 4 0 0 2
-/+ buffers/cache: 0 7
Swap: 7 0 7
Run Code Online (Sandbox Code Playgroud)
7,881 MiB 实际上是 ~7.70 GiB,但free -g
向下舍入为 7,而不是向上舍入 8。同样有~4.98 GiB 可用内存,但free -g
向下舍入为 4 而不是向上舍入为 5。
报告的总内存free
不包括内核无法访问的内存(在上述服务器的情况下,由于芯片组限制不允许使用 8Gb 的最后一个块,在某些情况下,机器的视频卡可能会要求一些 RAM,如果它没有自己的)也没有报告内核在启动时解压缩到的小块 RAM(因此在上面主机上分配了 128M 的较小虚拟机之一,免费仅报告 126,616 K、123 M (它实际上更像是 123.6 M)或 0 G) - 所以你永远不会看到与你的物理总 RAM 相同的值free -g
。
在您的情况下free
,看到的是 1,982.7 M 或 1.94 G,它四舍五入为 1。
归档时间: |
|
查看次数: |
244 次 |
最近记录: |