Nat*_*man 4 performance windows-8-preview virtual-address-space
这是我的系统配置:
为了运行内存密集型应用程序,我需要将虚拟地址空间从 2 GB 增加到 3 GB。(请注意,这与虚拟内存无关- 一个完全不同的概念。)
将虚拟地址空间增加 1 GB 有哪些可能的负面影响?我的猜测是 Windows 会缓存更少的磁盘读取,更多地使用页面文件等等。还有什么更严重的我应该担心的吗?
在 32 位版本中,您的虚拟地址空间总共为 4GB;用户空间为 2GB,系统空间为 2GB。当您为用户空间占用 3GB 时,您只为系统空间留下 1GB。这意味着耗尽系统地址空间要容易两倍,因此您可能会遇到内核级驱动程序问题(例如磁盘控制器和其他 I/O)。
我在 TechNet 上发现了这篇出色的文章,它解释了一些陷阱:“内存管理 - 揭秘 /3GB ”...
这是一个适用的简介:
请记住,我们只有 4GB 的总地址空间可供使用。如果我们必须额外分配 1GB 这个地址空间给用户态空间,那么系统空间就被削减了一半。驱动程序、堆、分页和非分页内存现在都只有一半的资源可以使用。然而,由于内存映射的工作方式,将内核空间减半不仅仅是减少地址空间。内核虚拟内存空间中的许多结构被削减了 50% 以上。例如,我们使用安装了 1GB RAM 的 Windows Server 2003 Enterprise R2 机器,比较了启用和不启用 /3GB 开关的一些值。
默认操作系统构建:
免费系统 PTE:251,980 (1,007,920 kb)
非分页池最大:206,848 kb
启用 /3GB:
免费系统 PTE:34,884 (139,536 kb)
非分页池最大:129,312 kb
如您所见,免费系统 PTE 下降了 200,000 多个。请记住,这只是一个没有任何负载的测试服务器。中到重负载的机器很容易耗尽空闲 PTE——这意味着系统不能再映射系统页面,如 I/O 空间、内核堆栈和内存描述符列表。另外,在启用/3GB参数后查看NonPaged Pool。
| 归档时间: |
|
| 查看次数: |
3137 次 |
| 最近记录: |