哪些CPU支持1GB页面?


19

某些Intel CPU支持1GB页面。这可以通过查看CPUID 0x80000001,EDX位26来识别。Linux内核通过/proc/cpuinfo将该pdpe1gb标志公开为标志

在哪里可以找到哪些CPU支持此功能,哪些不支持?或哪些产品线支持此功能?这些英特尔ARK页面上没有任何内容表示对该功能的支持。

CPU,可以支持1GB页面:

其他支持1GB页面的CPU :


Answers:


4

根据此页面

除了标准的4 KB页面外,较新的x86-64处理器(例如AMD的较新AMD64处理器和Intel的Westmere及更高版本的处理器)可以在长模式下使用1 GB页面

似乎是对的,因为它是Westmere CPU 的新功能


5
是的,我绝对看过所有这些维基百科页面!但是,此答案不正确。Sandy Bridge比Westmere更新,我现在有两个支持的Sandy Bridge CPU 。
Jonathon Reinhart 2014年

2
@JonathonReinhart:特别是Hugepages的巨大缺点。1G页面是整个大页面占用了那么多物理RAM。如果进程正常分配1GiB,则只有它曾经接触过的部分才真正占用虚拟内存。(过量使用甚至允许内核没有足够的交换空间来处理的分配)。即使进程停止,Linux也无法将大页面分页到磁盘,因此,大页面分配可以有效地锁定/锁定那么多物理内存。
彼得·科德斯

1
2M的大页面意义时,他们不会被留下一半是空的(例如,当你肯定知道你要到2M的每4K写入反正),但缺乏寻呼是一个大问题。设计通用软件在内存受限的台式机上无法正常工作的想法不是一个好主意。我认为您甚至无法映射具有2M个大页面的磁盘上的文件,但这对可执行文件来说不是一个好主意,因为在2M块中会有一些4k页面未被触摸。可以从页面缓存中逐出这些文件(假设它们已被预取),从而释放RAM。
彼得·科德斯

1
对于具有多高级TLB当前的CPU,花费在TLB未命中的总时间可能不是糟糕,是吗?我还没有介绍过像Firefox这样的大东西。我希望看到一个可读的摘要,了解它在TLB未命中,(尤其是页面遍历)以及L1 I缓存未命中之类的问题上花费了多少时间。我知道我可以指出perf这一点...即使您确实想为firefox使用2M大页面,我猜它的很多内部数据都比这小。确保将最大的页面缓冲区内的分配的外部碎片最小化会有开销。
彼得·科德斯

1
在高内存,随机访问操作(例如许多数据库应用程序)上,TLB丢失的代价很高。巨大的页面产生了巨大的变化-但是即使在那儿,他们所谈论的是2MB页面,而不是1GB。通过直接映射整个物理地址空间,该操作系统最有可能使用1GB页面。
GreenReaper
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.