windows内存页默认是多大
题主对Linux的理解不完全正确。
Linux内存页默认大小是4K的,所以每个4K都有一个对应的page结构体进行管理。Linux有大页功能,比如2M,1G大页,但这里的大页并不是指Linux管理物理内存的基本单位,而是指MMU页表项所能描述的最大物理块空间,使用更大的页,是为了减少TLB miss造成查页表带来的性能开销。一个大页,也是由多个连续的物理页组成的,每个物理页也都有page结构体描述。
所以,在Linux里面4K物理页,与Hugetlbfs中的大页是没有相接关系的。
【windows内存页默认是多大】 回到最初的问题,用一个page结构,管理一个4K大小的物理页,这个内存开销也不小,对于大内存机器来说,也是一个不小的开销。所以,在X86_64架构和ARM64架构里,Linux内核支持将物理页配置成64K页大小,即一个page结构描一个64K小的物理页。
综合起来,Linux的页是这样的:
1) 从管理的角度来说,支持4K页和64K页
2)从映射单位来说,支持4K/2M/1G,具体看体系架构。
■网友
According to Wikipedia:
在X86-64系统下,Huge Page是2MB。不过在Windows下这个Huge Page则被称作Large Page(容易和另外一个Large Page概念混淆……因为有的Large Page可以达到1G单页)。
■网友
默认的4k页面跟操作系统没关系,是x86体系结构要求的。同样是linux,在arm下说不定就不是4k页面了(没研究过arm)。hugepage,也是体系结构支持的。32bit下,支持4k和4M页(10/10/12),开启PAE后,增加了一级页表(2/9/9/12)支持4k,2M。64bit下,支持4k,2M,1G(9/9/9/9/12,x86-64只支持48bit地址空间)。所以,这些东西不能脱离体系结构谈。因为换个体系结构,可能就是完全不同的样子了。这部分代码,也是操作系统针对不同体系结构分别实现的。
推荐阅读
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥旧版windows一直能收到安全补丁,旧版iOS却不
- 计算机进不了桌面,任务管理器也打不开,咋办
- windows资源管理器无法浏览部分安卓手机内文件
- 怎样使用opengl高效的绘制
- windows 7怎样使文件系统区分大小写
- Windows中文件名最大字符数
- 电脑内存条跟固态硬盘和机械硬盘存储速度哪个快
- 有一个想法:在不同的程序里,使用不用的输入法默认设置, 减少用户切换中英文的次数。大家感觉咋样
- windows10自带输入法体验是不是很差,为啥
