Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 64位操作系统上x86可执行文件可以使用多少内存?_Windows_Process_64 Bit_Ram - Fatal编程技术网

Windows 64位操作系统上x86可执行文件可以使用多少内存?

Windows 64位操作系统上x86可执行文件可以使用多少内存?,windows,process,64-bit,ram,Windows,Process,64 Bit,Ram,我认为这个问题听起来很清楚,但需要进一步解释: 假设我们有安装了8GB内存的Windows7x64电脑;(64位操作系统和32位进程是我的目标) 问题1:在此环境中,64位进程可以使用多少内存 问题2:一个32位进程在此环境中可以使用多少内存 问题3:如果32位进程在此环境中只能使用2GB的RAM(即使它是大地址空间感知的:3gb),但是大多数游戏都是32位的;,那么这是否意味着:虽然我们安装了8gb的RAM,但一款游戏在任何给定时间都只能使用2-3gb的RAM 问题1:在这种环境中,64位进程

我认为这个问题听起来很清楚,但需要进一步解释:

假设我们有安装了8GB内存的Windows7x64电脑;(64位操作系统和32位进程是我的目标

问题1:在此环境中,64位进程可以使用多少内存

问题2:一个32位进程在此环境中可以使用多少内存

问题3:如果32位进程在此环境中只能使用2GB的RAM(即使它是大地址空间感知的:3gb),但是大多数游戏都是32位的;,那么这是否意味着:虽然我们安装了8gb的RAM,但一款游戏在任何给定时间都只能使用2-3gb的RAM

问题1:在这种环境中,64位进程可以使用多少内存

它可以使用你所有的记忆

问题2:在这种环境中32位进程可以使用多少内存

对于x64机器上的x86可执行文件,默认情况下消耗2GB。如果设置了图像\u文件\u大\u地址\u感知,则可以使用4GB

有趣的是,如果未设置或清除图像文件\u大\u地址\u感知,x64可执行文件在x64机器上最多可以使用2GB

问题3:(我不确定)如果一个32位进程在这个环境中只能使用2GB的ram(即使是大地址空间:3gb),另一方面(据我所知),大多数游戏都是32位的;,那么这是否意味着:虽然我们安装了8gb的RAM,但(例如游戏)在任何给定时间只能使用2-3gb的RAM

无its4GBWin32应用程序,x64操作系统:

  • 同时:
    • 高达2 GB的地址空间(由于碎片等原因,有效容量较小)
    • 如果进程二进制文件用/LargeAddressWare标记,则最多可有4 GB的地址空间
  • 不一定同时通过内存映射文件:
    • 所有可用内存,特别是4 GB及以上

在Windows这样的按需分页保护模式操作系统上,可用的RAM数量与进程可以使用的虚拟内存数量完全无关。限制因素是分页文件可以支持多少虚拟内存。Windows中的分页文件以启动时和注册表设置确定的大小开始。在此基础上,当进程需要更多内存时,Windows可以根据需要增加分页文件的大小

64位进程可以使用多少内存

这是不可预测的,但至少与分页文件中的当前可用空间相同。你通常会得到大约13G的数据。这个空间可以突飞猛进地增长,在程序第二次运行时,它可能会消耗更多内存,因为Windows会赶上并增加分页文件。你可以在马克·鲁西诺维奇的作品中看到这一点

在此环境中,32位进程可以使用多少内存

默认值为2G字节。程序EXE头中的大地址感知选项位可以将其扩展到4G字节。大多数32位程序将关闭此选项位

如果32位进程在此环境中只能使用2GB的ram

它不是3兆字节,而是2兆字节或4兆字节。再次强调,它与RAM无关。即使在一台有8G内存的机器上,一个32位进程的LAA也不太可能消耗4G内存。RAM是一种共享资源,所有进程都需要它。一个消耗4G的32位进程很可能会有一部分被调出