在32位系统下默认分配2GB给用户空间程序,2GB给内核空间程序。
现在,如果我们在 boot.ini 中添加 /3GB 选项,用户和内核空间将分别获得 3 和 1GB。
我们正在使用一台运行 MS Windows 2003 32 位且带有 /3GB 选项、/PAE 选项、4GB RAM 和 4GB 页面文件的服务器,这些内存在用户和内核空间进程中是如何划分的?
答案1
/PAE 不会更改使用 /3GB 更改的用户和内核虚拟地址空间分配,但您不应同时使用 /3GB 和 /PAE。根据 Microsoft 的说法:
当系统中的物理 RAM 超过 16 GB 并使用 /3GB 开关时,操作系统将忽略额外的 RAM,直到删除 /3GB 开关。这是因为需要增加内核的大小来支持更多的页表条目。
您需要尽可能多的内核内存空间(超过 1GB),仅用于页表条目来描述超过 16GB 的内存。
编辑:同样根据微软的说法:
当我们同时使用 /3GB 和 /PAE 时,就会发生冲突。当我们使用 PAE 时,操作系统需要管理大量资源,这些资源需要的内存超过 1 GB。因此,某些操作会出现性能问题,然后会间歇性失败。