Linux 内核:LOWMEM + HIGHMEM > 总内存?

Linux 内核:LOWMEM + HIGHMEM > 总内存?

各位,有件事我不明白:

我有一台 4 GB RAM 的笔记本电脑,运行 32 位、启用 PAE 的 Linux 内核。该系统由带有集​​成显卡的 AMD APU 提供支持,据我所知,它从系统内存中获取图形内存。

现在,在我的 中dmesg,我看到了这个:

内存:3574156K/3638392K可用

它看起来很合理:如果我们考虑到 4 GB 内存,其中大约 512 MB 可能用于 GPU,那么 3638392K 看起来很合理。数学可能并不完全正确,但足够接近表明这个假设是正确的。

我可以证明 GPU 占用 512 MB 吗?可能:我有这一行dmesg

radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)

假设 VRAM 不必是专用的额外内存(我非常确信机器中不存在这种内存),GPU 可能确实会从系统内存中占用这 512 MB。

到目前为止,一切顺利,我想我可以跟进。但现在看看这些行,也来自dmesg

3700MB HIGHMEM available.
891MB LOWMEM available.

哇,总共有 4591 MB。现在,考虑到 4 GB 就足够了,没有额外的 VRAM 之类的东西,HIGHMEM + LOWMEM 怎么会有这么大的价值呢?我本来假设这两个值加在一起将等于系统中的内存总量,但我完全有可能在这里假设一些不正确的东西。从我的想法来看,可能不是“真正的”内存,比如某些设备映射内存,也算在 LOWMEM 和/或 HIGHMEM 中吗?

我真的不知道,但如果有人能为我阐明这一点,我会非常高兴。

哦,作为参考,我已经得到了dmesg我正在谈论的机器的完整输出

http://ftp.tisys.org/pub/misc/teela_dmesg.txt

谢谢大家! :-)

答案1

我知道我已经读过今年的相关内容,但我必须乘坐回程机才能找到这个:https://web.archive.org/web/20130513093456/http://kerneltrap.org/node/2450

不确定它是否直接回答了您的问题,但可能会有所帮助。我自己也勉强领会其中一些。

相关内容