同时运行 HAXM AVD 仿真器限制

Posted

技术标签:

【中文标题】同时运行 HAXM AVD 仿真器限制【英文标题】:Simultaneous Running HAXM AVD Emulator Limit 【发布时间】:2016-12-19 00:05:54 【问题描述】:

为了详细说明标题,我正在为我的自动化构建/测试流程同时运行许多 AVD(想想一个项目的并发构建,或一次构建多个项目)。人们在一次运行多个 HAXM 加速 AVD 时遇到的大多数问题都与内存有关。这不是我的问题(我认为)。我有一台非常强大的 i7 机器,带有 32gb 的内存。安装 HAXM 时,我分配了 28gb(抱歉,没有更多代表我无法发布更多图片)。

这是我的 AVD 配置。观察一下,每个模拟器只分配了 1024mb 的内存:

AVD 配置:

这是我的系统规格:

操作系统名称 Microsoft Windows 7 Enterprise 版本 6.1.7601 Service Pack 1 Build 7601 其他操作系统描述不可用 操作系统制造商 Microsoft Corporation 系统名称 DUCHT1-DS1 系统制造商 Dell Inc. 系统型号 OptiPlex 7040 系统类型基于 x64 的 PC 处理器 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz, 3401 Mhz, 4 Core(s), 8 Logical Processor(s) Bios 版本/日期 Dell Inc. 1.2.8,2016 年 1 月 26 日 SMBIOS 版本 2.8 Windows 目录 C:\WINDOWS 系统目录 C:\WINDOWS\system32 启动设备 \Device\HarddiskVolume2 语言环境 美国 硬件抽象层版本 = "6.1.7601.17514" 用户名不可用 时区 中部夏令时间 安装的物理内存 (RAM) 32.0 GB 总物理内存 31.9 GB 可用物理内存 29.5 GB 总虚拟内存 63.8 GB 可用虚拟内存 61.2 GB 页面文件空间 31.9 GB 页面文件 C:\pagefile.sys

我可以同时运行 8 个模拟器,如果可以的话,我会发布一张图片。当它们都在运行时,我只使用了大约 16gb 的 32gb 内存。 (此时每个模拟器 2048mb)。无论我做什么,我都不能运行超过 8 个模拟器。我可以运行 8 个模拟器,每个设备同时分配 1gb、2gb 或 3gb 内存。我试过 32 位和 64 位英特尔图像。显然,执行此操作的内存超出了限制。

启动第 9 个模拟器时收到的错误消息(注意,我从 0 开始计算模拟器):

第 9 个模拟器启动错误

“未能创建 HAX​​ 虚拟机。找不到加速器。”

我唯一能想到数字 8 的来源是我有 4 个内核 == 8 个逻辑处理器。不过,这是一个疯狂的猜测。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

在命令行中输入:

sc stop intelhaxm

然后:

sc start intelhaxm

然后你的模拟器应该可以工作了。

【讨论】:

但我只是在开始我的第 9 个 AVD 后才遇到这个问题。其中有 8 个在 HAXM 加速方面表现良好。我应该在启动所有模拟器之前运行它吗?【参考方案2】:

这是由于 HAXM 中的 hardcoded variable。您可以通过下载latest HAXM from the Github page 来解决此问题,它将设置为 64 位客人而不是 8 位。

【讨论】:

我无法对此进行测试,但很明显这是我所追求的解决方案(3 年前)。无论如何,非常感谢!非常感激。显然,我应该立即针对 intel/haxm 存储库提出问题,因为他们能够在几个月内移植修复程序。吸取教训!

以上是关于同时运行 HAXM AVD 仿真器限制的主要内容,如果未能解决你的问题,请参考以下文章

Intel X86 仿真器加速器(HAXM 安装程序)VT/NX 未启用

等待设备时出错:AVD的仿真器进程被杀死了

sh 启动AVD仿真器......

Xamarin开发之旅第1篇:运行一个空项目

Android Studio:由于 Intel HAXM 错误而无法运行 AVD

Xamarin为仿真器性能形成硬件加速。 (花费大量时间部署)