Android模拟器的高CPU使用率(qemu-system-i386.exe)

sky*_*ar7 73 android-emulator

模拟器qemu-system-i386.exe的cpu使用率几乎不断在7~9之间运行

Android studio 2.1 Android SDK工具:25.1.3主机操作系统:Windows 7 - i7 2630QM - 8GB Ram安装Intel x86 Atom系统映像

无论我在模拟器中改变什么样的设置如:模拟性能,多核CPU,x86-64图像,总是一样的东西

这总是令人讨厌的粉丝

有人解决了这个问题吗?

非常感谢

Ben*_*ing 129

CPU使用率恒定的原因是声音.如果您的模拟器中不需要声音,可以通过编辑AVD的配置文件来禁用它.

更改/添加这两行

hw.audioInput=no
hw.audioOutput=no
Run Code Online (Sandbox Code Playgroud)

Linux/Mac上,该文件位于〜/ .android/avd/<AVD_Name> .avd/config.ini
Windows上,该文件位于C:\ Users\<用户名>\.android\avd\<AVD_Name>. AVD\config.ini文件

  • 没能在我的Mac上运行 - 仍然获得高CPU使用率. (14认同)
  • 如果你不使用它,也可以考虑禁用 GPS `hw.GPS = no` (9认同)
  • @antoine:这确实解决了我的问题 - 我编辑了错误的 config.ini 文件。重新启动也不会受到伤害。 (3认同)
  • 不要忘记在 Android 虚拟设备管理器菜单下“立即冷启动”设备。 (3认同)
  • 我打开了一个错误报告来调查更多关于异常 CPU 使用情况(链接到这个答案):https://issuetracker.google.com/issues/109921752 (2认同)
  • @buncis 谢谢,只有在禁用 GPS 后才有效 (2认同)

jor*_*isw 16

要找出虚拟设备上使用最多 CPU 的设备:

adb shell

$ top

Run Code Online (Sandbox Code Playgroud)

这将向您显示 CPU 使用率最高的进程列表。

这将帮助您确定它是模拟器中的一个进程(例如您的应用程序)、模拟器中的另一个进程,还是只是使用大量 CPU 的模拟本身。

在后一种情况下,尝试通过安装 HAX(本地英特尔指令)来优化模拟器,或者使用 AVD 配置文件编辑器启用硬件加速。


Ali*_*ati 12

就我而言,使用硬件图形解决了我的问题。

在此输入图像描述


ant*_*ine 11

在Mac上,我注意到我的笔记本电脑进入睡眠状态后,仿真器使用了超过100%的CPU.正如本杰明建议的那样关闭音频并没有解决这个问题.

通过长按仿真器上的电源按钮重新启动模拟设备对我来说很有用.


Bri*_*6ko 8

使用x86_64(或64位)模拟器为我解决了它.他们推荐x86版本,但它正在为我做准备.

  • 这在 MacOS 上似乎是必要的。 (4认同)

Nex*_*7fm 7

与Win7,HAXM 7.2.0上的qemu相同的问题.我已经尝试关闭音频,它没有帮助,qemu随时消耗大约20%的CPU,Android在x86和x64图像上的工作速度非常慢.

我在HAXM的发行说明文件中找到了解决方案:

  • 在Windows上,Avast Antivirus可能会干扰HAXM并导致Android Emulator或QEMU运行速度非常慢.解决方法是在Avast设置>疑难解答中取消选中"在可用时使用嵌套虚拟化".

我有Avast Pro Antivirus 18.5.我已取消选中此参数,重新启动PC,现在qemu在闲置时消耗0%,Android工作正常.

更新:如果QEMU再次开始消耗CPU,请首先检查Avast的更新状态.在后台更新后,Avast可能会再次开始干扰HAXM.只需重新启动Windows即可解决问题.


小智 6

我在2018年11月开始遇到这个问题。

虚拟设备正在尝试连接到移动网络数据,因此我在设备本身内部将其关闭。现在工作很好。


Bal*_*Ali 6

我的情况,因为我选择software在 adv 中进行图形渲染。所以在hardware将 CPU 使用率从 60 减少到 10 并将 CPU 温度从 70 减少到 40 之后。

  • 这似乎对我有用。在软件上,模拟器始终运行 ~106。切换到硬件大约需要 24 小时。但与模拟器交互时,峰值可能会超过 200。但在不互动时会很快降至约 24。这似乎是最好的解决方案,而不必更新稍后可能需要启用的配置设置。 (2认同)