设置了 LARGEADDRESSAWARE 标志的应用程序获得的虚拟内存较少

2024-04-19

我有一个 32 位应用程序,由一个 EXE 和多个 DLL 组成。 EXE 是用/LARGEADDRESSAWARE标志设置。所以我预计在 64 位操作系统上我应该获得 4 GB 的用户地址空间。但在某些 64 位 Win 7 系统上,我只能获得 2 GB 的用户地址空间。

如果重要的话,物理内存是 8 GB。这种行为的原因可能是什么?


浏览MSDN后,我发现了以下内容:

On http://msdn.microsoft.com/en-us/library/windows/desktop/aa366770(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa366770(v=vs.85).aspx(该页面为MEMORYSTATUSEX这是由GlobalMemoryStatusEx (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366589(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa366589(v=vs.85).aspx) ) 的描述ullTotalVirtual is:

对于 x86 处理器上的大多数 32 位进程,该值约为 2 GB;对于在启用了 4 GB 调整的系统上运行的大地址感知的 32 位进程,该值约为 3 GB。

4GB调优页面为:http://msdn.microsoft.com/en-us/library/windows/desktop/bb613473(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/bb613473(v=vs.85).aspx它说的是这样的:

在 64 位版本的 Windows 上,标有 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志的 32 位应用程序具有 4 GB 的可用地址空间。

Windows Server 2003 的 Itanium 版本:在 SP1 之前,32 位进程只有 2 GB 的可用地址空间。

此外,内存限制页(http://msdn.microsoft.com/en-us/library/aa366778.aspx#memory_limits http://msdn.microsoft.com/en-us/library/aa366778.aspx#memory_limits)如果您想确定系统支持的总内存,可以派上用场。

然而真正有用的信息来自 Mark Russinowich 的博客:http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx

虽然 4GB 是 32 位客户端 SKU 的许可限制,但有效限制实际上较低,并且取决于系统的芯片组和连接的设备。原因是物理地址映射不仅包括 RAM,还包括设备内存,x86 和 x64 系统映射 4GB 地址边界以下的所有设备内存,以保持与不知道如何处理的 32 位操作系统兼容地址大于 4GB。

所以结论是,是的,这可能取决于系统的配置。也许您可以用表格来完成您的问题,其中包含每个系统上获得的内存量以及一些重要的系统配置设置,我们可能会在这种情况下发现一种模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置了 LARGEADDRESSAWARE 标志的应用程序获得的虚拟内存较少 的相关文章

随机推荐

  • Mockito 并不是在嘲笑电话

    我正在测试的功能之一是通过 ssh 登录到一台机器 我想模拟 ping 方法 它实际上尝试 ssh 进入机器 因为我并没有真正 ssh 进入机器 我正在测试的类 public class TestMachine public int pin
  • 如何阻止UITextView进入时向上滚动

    我有一个UITextView包含在一个UITableViewCell 最初显示视图时布局是正确的 但是一旦我单击UITextView它会自动向上滚动一点 第一行的上半部分字符变得不可见 这张图是当UITextView不活跃 UITextVi
  • NSDateFormatter 获取 Null

    我在我的项目中得到一个字符串 我将字符串传递给 dateFormatter 但我得到 nil 在字符串中而不是IST我可能会得到PDT我可能会得到任何其他格式 NSString currentDateString 2012 11 09 12
  • 分割scrapy的大CSV文件

    是否可以使 scrapy 写入每个不超过 5000 行的 CSV 文件 我怎样才能给它一个自定义的命名方案 我应该修改吗CsvItemExporter 尝试这个管道 coding utf 8 Define your item pipelin
  • “setIndentationLeft”不是“iTextsharp.text.Paragraph”的成员

    我正在添加出现错误的段落 p setindentationLeft 不是 itextsharp text paragraph 的成员 Dim bf As BaseFont BaseFont CreateFont Dim p As New P
  • MVC WebGrid 是开源的吗?

    MVC WebGrid 是开源的吗 如果可以的话哪里可以找到源代码 当前版本的 WebGrid 几乎没有文档 实现不完整等 我正在尝试做一件简单的事情 即向视图中的 WebGrid Column 添加可见性属性 但这是不可能的 您可以下载A
  • 如何在字符串中使用变量

    我正在尝试在字符串中实现变量 我已经搜索过这个并尝试向它扔不同的东西 但似乎没有任何效果 我有一个如下所示的变量 http localhost 8080 Editor name Default 我使用以下方法获取值没有问题 function
  • Dataflow 2.1.0 中是否有 IntrabundleParallelization 的替代方案?

    根据 dataflow 2 X 的发行说明 IntraBundleParallelization 已被删除 有没有办法控制 增加数据流 2 1 0 上 DoFns 的并行度 当我在 1 9 0 版本的数据流上使用 IntrabundlePa
  • 带百分比的 CSS 位置

    我在另一个 div 中相对位置 div 时遇到问题 我想制作一个位于屏幕水平中间的 div 并在这个 div 中我想放置 3 个具有相同高度的其他 div 但他们所有人都应该做出反应 图片胜于雄辩 div div class row div
  • 警告似乎指向不同的对象地址

    我正在使用 PySide 当我尝试将电子表格设置为某个小部件时收到警告 09 18 14 48 54 107 WARNING D 0x7ff4a0074650 qt Could not parse stylesheet of widget
  • Python os.chdir() 似乎不起作用

    我似乎无法更改 python 中的目录 import os os getcwd C Users Jon Folder IdbyGenotype os chdir r C Users Jon Folder IdbyGenotype thiso
  • Typescript `typeof React.Component` 不扩展接口?定义高阶组件时遇到问题

    我正在创建一个高阶组件来包装扩展接口的组件 interface ClickOutsideInterface onClickOutside e Event gt void 我创建的工厂期望React ComponentClass实施Click
  • 在 Android 上使用 obgenesis 时出现 NoClassDefFoundError

    我正在开发一个 Android 应用程序 它使用com rits cloning and org objenesis 深度克隆对象的库 目的是将相同的对象添加到我的树结构类中两次或多次 而不必担心原始对象引用相同的对象 自从定期clone
  • 重新启动在 Apache + mod_python 上运行的 Django 应用程序

    我正在 Apache mod python 上运行 Django 应用程序 当我对代码进行一些更改时 有时它们会立即生效 有时则不会 直到我重新启动 Apache 然而 我真的不想这样做 因为它也是一个运行其他东西的生产服务器 还有其他方法
  • 在 ListTile 中放置两个尾随图标

    我想将两个图标并排放置在 ListTile 的 尾随 一侧 我尝试添加一个 Row 小部件 其中包含两个图标 但它完全搞乱了整个 ListTile 的布局 使其无法使用 有什么办法可以扩大分配给尾部部分的空间吗 这是代码 import pa
  • 在 Java Runtime.getRuntime().exec(...) 中使用引号和双引号

    我正在尝试在 Mac OSX 中从 Java 启动 Lisp 映像 使用控制台中的图像 我输入以下内容 lisp image eval package method some argument 一切都运行良好 在Java中 我在使用传递引号
  • 为什么大多数 API 分页不依赖 HTTP Range 标头?

    我搜索了很多 但找不到这个问题的好的答案 作为 HATEOAS 爱好者 我认为这个标题非常适合 Range item 1 20 100 在HTTP规范中 我不明白一些 矛盾 范围单位可以接受 其他范围单位 range unit bytes
  • Twig form_theme_self自定义单独字段

    我有一个视图 我试图覆盖每个单独字段的表单主题http symfony com doc current cookbook form form customization html how to customize an individual
  • 谁给了 SWI-Prolog 幽默感?

    谁给了 SWI Prolog 幽默感 Welcome to SWI Prolog threaded 64 bits version 7 3 35 SWI Prolog comes with ABSOLUTELY NO WARRANTY Th
  • 设置了 LARGEADDRESSAWARE 标志的应用程序获得的虚拟内存较少

    我有一个 32 位应用程序 由一个 EXE 和多个 DLL 组成 EXE 是用 LARGEADDRESSAWARE标志设置 所以我预计在 64 位操作系统上我应该获得 4 GB 的用户地址空间 但在某些 64 位 Win 7 系统上 我只能