我正在运行 Ubuntu 20.04
64 位版本。我开始学习内核编程,现在正在研究内核VAS。当运行procmap
由 kaiwan调用的进程时github它应该给我内核 VAS 的视觉表示,它说内核 lowmem 区域大约有7.24
GB,而我的系统只有 6 GB,我不知道为什么。我认为 lowmem 区域应该在逻辑上映射到没有 ZONE_HIGHMEM 区域的 64 位系统上的系统 RAM。那么这额外的 1.24 GB 到底是从哪里来的呢?我不确定这是一个错误还是我错过了一些东西。
答案1
物理内存不是连续的,而是分散的、有漏洞的。这也反映在物理内存的lowmem映射上,导致总地址范围大于物理内存量。