![free -l 输出的统计数据是如何计算的?](https://linux22.com/image/102056/free%20-l%20%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%9F%E8%AE%A1%E6%95%B0%E6%8D%AE%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E7%9A%84%EF%BC%9F.png)
为了free
-l, --lohi
显示详细的低内存和高内存统计信息。
统计数据是在一段时间内计算的吗?期间是如何定义的?
为什么high
下面全是零?
$ free -l
total used free shared buffers cached
Mem: 8067524 7392888 674636 440536 53880 861080
Low: 8067524 7392888 674636
High: 0 0 0
-/+ buffers/cache: 6477928 1589596
Swap: 15625212 7562728 8062484
答案1
Low
不High
涉及使用量是否很多。它们代表了系统的组织方式。
根据维基百科:
高内存是计算机中物理内存的一部分,不直接由操作系统内核的页表映射。
该命令没有持续时间free
,它只是计算可用信息的快照。
大多数人,包括程序员,不需要更清楚地理解它,因为它通过系统调用和编译器/解释器操作以更简单的形式进行管理。
答案2
理由是“高全为零”是因为您使用的是 64 位处理器:
使用-l选项,您可以查看每个内存区域使用了多少内存。例 2-8 和例 2-9 显示了 32 位和 64 位系统的 free -l 输出示例。请注意,64 位系统不再使用高端内存。
上面参考文献中的工作示例比较了free -l
使用 32 位处理器和 64 位处理器的命令输出;后者显示全零
参考:https://lenovopress.lenovo.com/redp4285.pdf(第47页。参考资料是联想在自己网站上发布的IBM红皮书)