首页 > 解决方案 > Linux Huge pages 内存使用计算

问题描述

我阅读了有关 Linux Huge pages 技术的文章并误解了一些重要的细节。
下面是这句话:

例如,如果您使用带有 64 位硬件的 HugePages,并且想要映射 256 MB 的内存,则可能需要一个页表条目 (PTE)。如果您不使用 HugePages,并且想要映射 256 MB 的内存,那么您必须有 256 MB * 1024 KB/4 KB = 65536 个 PTE。

我不明白1024 KB这个公式是什么。我认为应该只是256 MB / 4 KB计算表格条目的数量。公式中有错字还是我错了?

标签: linuxmemorymemory-managementlinux-kernelhuge-pages

解决方案


我同意这令人困惑。看了几遍,相信就是单位换算这么简单。在学校,数学/物理/化学老师总是告诉我们在做运算时使用相同的单位以获得连贯的结果。

值 256 以兆字节 (MB) 表示。要将其除以 4,以千字节 (KB) 表示,您需要将其转换为千字节。因此,乘以 1024KB (= 1MB)。所以,从字面上看,操作是:(256 x 1024) / 4 = 65536 这是以下的简化: (256 x 1024 x 1024) / (4 x 1024)


推荐阅读