Azure 上的 32 位 VM 只有 1GB 的可用 RAM

vkr*_*rzv 2 virtual-machines azure

根据此页面:https : //docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/support-32-bit-operating-systems-virtual-machines

Microsoft Azure 现在允许用户将他们的 32 位 Windows 操作系统引入 Azure。

我试图将我的 32 位映像带到 Azure,但它们在总物理内存中只有 1Gb 的可用内存(取决于 VM 大小)。该映像是 Windows 的全新安装,仅配置了 RDP。

14 个中只有 1GB 可用

使用本地 Hyper-V,我有 4 GB 中的 3.87 GB 可用内存,这是我所期望的。

我尝试了不同的选择:

  • Windows 10 x32 映像
  • Windows 7 x32 映像
  • B2s 大小的机器(2 核,4 GB)
  • D2v3(2 核,14 GB)
  • sysprep'ped/非 sysprep'ped 图像

没有任何帮助,我总是有 14 GB 或 4 GB 中的 1 GB 可用内存。Internet 搜索表明它可能与 BIOS 有关,但我无法访问 Azure VM 的 BIOS。这个问题有什么解决方案或至少有解释吗?

PS 请不要建议使用 64 位 Windows 或嵌套虚拟化作为这个问题的答案。

更新: 感谢有关动态内存的指针。但是我仍然没有成功解决问题。我使用 testlimit(来自 Sysinternals)模拟了高内存消耗,并确保我有 dmvsc.sys(动态内存)驱动程序正在运行,但 RAM 量从未增加过。

在此处输入图片说明

更新: 将修复此问题的建议发布到 Azure 反馈门户。你可以在这里投票 https://feedback.azure.com/forums/223579-azure-portal/suggestions/42881949-fix-the-issue-with-1gb-ram-limit-for-32-bit-oses- r

bjo*_*ter 5

欢迎来到 Hyper-V 和动态内存的怪癖。

azure 中的 Hyper-V 虚拟机都使用动态内存(保留实例除外)。这意味着,Hyper-V 将持续监控需求(由本地内核报告)并将所需的物理 RAM 分配给虚拟机。因此,您将看到“1 Gb 可用”[此时]。这是“真实”物理 ram 映射的实际数量(加上用于快速增长的应用程序的缓冲区)。

在此处输入图片说明

Windows 10 虚拟机需要(出人意料地)很少的 RAM 才能正常运行。在您的屏幕截图中,内存使用量目前处于空闲状态(我认为)。内存“需求”非常小,因此分配给 VM(通常约为 15%)到 Hyper-V 机器配置的缓冲区使用了分配的最大值的 1Gb 左右。

缓冲区很重要:当使用动态内存并且需求突然增加时,例如由于启动了一个资源繁重的应用程序,Hyper-V 需要时间为虚拟机分配更多的 RAM。这可能慢(取决于此主机上其他机器的需求)。缓冲区越大,虚拟机对需求增加的反应就越好。您会在那里看到“最小”缓冲区。

提示:动态内存不应该被用来安装Windows时,它可以使安装所需的时间有点长。我敢打赌,你等了很多更长的时间变薄比在本地计算机上完成。

一般来说,Windows 10 x32 为默认应用程序使用最大 4GB 的静态 RAM。PAE 可以扩展这一点,但唯一广泛使用的应用程序是 Exchange Server(不在 Windows 10 下运行)和 SQL Server(企业)。