我们有六个web应用程序需要以32位进程运行,但由于我们缓存的各种内容,需要相当多的内存,由于各种原因,这不容易改变。没有一个应用程序需要超过2 2GB的内存,但合并后的内存使用量将超过2 2GB。由于各种原因也不容易更改,我们计划在一对64位服务器上运行所有这些服务器,具有16 to的RAM,足以满足所有web应用程序的组合内存需求。
这是我的担忧。我知道Windows为每个进程分配了一个虚拟地址空间,在Win32上分配2 2GB的用户空间和2 2GB的内核空间,在Win64上分配8TB的用户空间和8TB的内核空间(在大多数情况下)。然后,操作系统处理将该地址空间的哪些部分映射到物理RAM。我还了解到,WoW64子系统将处理在64位操作系统上运行32位进程。我不太了解WoW64,不知道它将如何做到这一点,我希望它能映射不同32位进程的虚拟地址空间,以利用所有可用的内存,但我担心它可能无法做到这一点,并且该进程仍将竞争以某种方式为32位进程仿真而“耳朵标记”的同一组内存。
我知道真正的解决方案是测试我们的目标环境和配置文件,看看发生了什么,但更多关于如何在WoW64下管理物理内存的信息将会让人放心。
发布于 2012-02-09 22:09:25
没有"ear标记“32位进程RAM。物理RAM可供操作系统使用,并根据需要分配给进程,无论它们是32位还是64位。Wow64子系统不是虚拟机,也不是32位进程运行的进程。Wow64子系统是一组填充库,它们处理32位到64位的转换,反之亦然。
https://stackoverflow.com/questions/9208428
复制相似问题