首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >x86_64 linux内核页的大小是多少?

x86_64 linux内核页的大小是多少?
EN

Unix & Linux用户
提问于 2019-05-12 10:09:06
回答 1查看 2.9K关注 0票数 2

我很好奇x86_64 linux内核页面的大小。我听说它是4KB,但其他一些消息来源告诉它是2MB。

我也很好奇用户内核页面大小是否可以与内核页面大小不同。linux可以使用2MB的内核页面和4KB的用户页面吗?

谢谢

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-05-12 11:03:57

x86_64体系结构上的页面大小(与i386或IA-32相同,后者是该体系结构的32位版本)是4KiB。

您还将看到对2MiB的引用,因为这是x86_64体系结构中“巨大页”的大小之一,它还允许在某些情况下也在Linux中使用1 1GiB巨型页面。(32位变体i386或IA-32有4MiB大页面。)

此外,Linux内核有一个名为“透明的巨大页”的特性,在许多现代Linux发行版中通常默认启用它。每当进程分配更大的内存时,Linux内核可能会决定分配2MiB对齐的内存块,并设置页表来代替为进程分配巨大的页。但是,如果系统陷入内存压力,需要交换一些内存,它仍然能够将其分解为单独的页面,这样它就可以交换一些内存,并将其他内存保存在内存中。(在某些情况下,它还能够从包含单个页面的分配中重新组装透明的巨大页面。)

关于内核和用户空间,在如何设置页表方面有几个细微差别(安全特性,特别是在最近的安全问题(如谱和熔毁)之后引入的特性,试图将页表映射与内核和用户空间隔离开来。但是通常内核和用户空间都会以相同的方式访问相同的内存区域,例如,在内核模式下,巨型页面(透明的或其他的)也会使用巨大的页面映射。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/518523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档