Alto uso de CPU con emulador de Android (qemu-system-i386.exe)


105

El uso de la CPU del emulador qemu-system-i386.exe se ejecuta casi constantemente entre 7 ~ 9

Android Studio 2.1 Herramientas del SDK de Android: 25.1.3 Sistema operativo del host: Windows 7 - i7 2630QM - Imagen del sistema Intel x86 Atom de 8GB Ram instalada

No importa qué configuración cambie en el emulador como: rendimiento emulado, CPU de varios núcleos, imagen x86-64, siempre lo mismo

Es realmente molesto el ventilador siempre encendido

¿Alguien ha solucionado este problema?


1
Personalmente, prefiero usar Visua Studio Emulator para Android , simplemente porque nunca había visto algo tan eficiente, tanto en el rendimiento como en el uso de los recursos del host. Aunque requiere Hyper-V habilitado en el host.
Matei Radu

Lo intentaré ahora mismo, gracias por el consejo
skystar7

Perdón por la falsa esperanza, pero solo ahora descubrí que Windows 7 no tiene Hyper-V, por lo que el emulador no se puede ejecutar en su host.
Matei Radu

1
está bien :) ... Estoy probando con el complemento Genymotion
skystar7

Respuestas:


166

La causa del uso constante de la CPU podría ser el sonido. Si no necesita sonido en su emulador, puede deshabilitarlo editando el archivo de configuración de AVD.

Cambiar / agregar esas dos líneas

hw.audioInput=no
hw.audioOutput=no

Actualización: como comentó buncis, también puede intentar deshabilitar el GPS si no es necesario:

hw.GPS = no 

En Linux / Mac, el archivo se encuentra en ~ / .android / avd / <AVD_Name> .avd / config.ini
En Windows, el archivo se encuentra en C: \ Users \ <username> \ .android \ avd \ <AVD_Name>. avd \ config.ini


18
No funcionó en mi Mac, todavía tengo un alto uso de CPU.
leanne

1
@antoine: esto realmente solucionó mi problema: edité el archivo config.ini incorrecto. Reiniciar tampoco podría haber hecho daño.
leanne

1
¡Gracias! Disminuyó de ~ 50% a ~ 1-3%
mehmet6parmak

2
También considere deshabilitar el GPS si no lo está usandohw.GPS = no
buncis

2
@buncis gracias, solo después de deshabilitar el gps funciona
Max Zonov

19

En Mac, noté que el emulador usaba más del 100% de la CPU después de que mi computadora portátil se durmiera. Apagar el audio como sugirió Benjamin no solucionó ese problema.

Reiniciar el dispositivo simulado presionando prolongadamente el botón de encendido del emulador me funciona.


16

Usar el emulador x86_64 (o el de 64 bits) lo resolvió por mí. Recomiendan la versión x86, pero me estaba saliendo bien.


4
Esto parece ser necesario en MacOS.
Rasmusob

1
Me ayudó mucho (macOS Mojave).
Amir J

Esa es la solución al menos para Mac: una gran diferencia.
Lacho Tomov

11

Para averiguar qué en el dispositivo virtual está usando más CPU:

adb shell

$ top

Esto le mostrará una lista de procesos con el mayor uso de CPU.

Esto le ayudará a determinar si se trata de un proceso (como su aplicación) dentro del emulador, otro proceso dentro del emulador o simplemente la emulación en sí que utiliza una gran cantidad de CPU.

En el último caso, intente optimizar el emulador instalando HAX (instrucciones nativas de Intel) o quizás habilite la aceleración de hardware usando el editor de perfiles AVD.


8

Tuve ese problema a principios de noviembre de 2018.

El dispositivo virtual estaba contento intentando conectarse a los datos de la red móvil, así que lo apagué dentro del propio dispositivo. Funciona muy bien ahora.


8

El mismo problema con qemu en Win7, HAXM 7.2.0. Intenté apagar el audio, no ayudó, qemu consume alrededor del 20% de la CPU en cualquier momento, Android funciona muy lento en imágenes x86 y x64.

Encontré soluciones en el archivo de notas de la versión de HAXM:

  • En Windows, Avast Antivirus puede interferir con HAXM y hacer que Android Emulator o QEMU se ejecuten muy lentamente . Una solución alternativa es desmarcar "Usar virtualización anidada donde esté disponible" en Configuración de Avast> Solución de problemas.

Tengo Avast Pro Antivirus 18.5. Desmarqué este parámetro, reinicié la PC y ahora qemu consume 0% en inactivo, Android funciona bien.

ACTUALIZACIÓN: si QEMU comenzó a consumir CPU nuevamente, primero verifique el estado de actualización de Avast. Después de la actualización en segundo plano, Avast puede comenzar a interferir con HAXM nuevamente. Simplemente reinicie Windows para solucionarlo.


1
Dios mío ... funcionó perfectamente. Después de deshabilitar Avast durante 10 minutos, el uso de la CPU se redujo al 15% y después de un reinicio al 1.4%. ¡Muchas gracias!
Ali.DM

1
Avast ... fue el problema para mí también
xcesco

Esto fue asombroso. El uso de CPU se redujo del 50% al 4%. Gracias @Nexus
Zaheer

3

mi caso, porque elijo softwarepara la representación de gráficos en adv. así que después de un cambio a la hardwarereducción del uso de la CPU de 60 a 10, y la temperatura de la CPU de 70 a 40.


Esto pareció funcionar para mí. en el software, el emulador siempre ejecutaba ~ 106 todo el tiempo. El cambio a hardware se ejecuta alrededor de ~ 24. Pero puede alcanzar un máximo de ~ 200 al interactuar con el emulador. Pero bajará rápidamente a ~ 24 cuando no esté interactuando. Esta parece ser la mejor solución en lugar de tener que actualizar los ajustes de configuración que podría necesitar habilitar más adelante.
ant2009

2

Reduje el uso de CPU de mi emulador estableciendo la velocidad de fotogramas del monitor en 60 hz. Estaba en 144 Hz y mi CPU funcionaba al 60% - 70%. Al cambiar solo la velocidad de fotogramas del monitor, ahora tiene un uso del 3%.


¿Puedes guiar donde lo hiciste?
Ajit Kumar Dubey

En las propiedades de su monitor, habrá una opción para la frecuencia de actualización de la pantalla. Configúrelo en 60 Hz o menos
soniiic

2

No pude apagar el audio con el archivo config.ini, pero solo con el argumento de línea -noaudio cmd para qemu. Sin embargo, con Android Studio 3.2, no puede agregar argumentos personalizados al emulador, así que hice esto:

En el directorio del emulador del SDK de Android, en mi caso ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Haga un script de bash llamado emulador con el contenido:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Luego:

chmod +x emulator

Ahora, el argumento -noaudio se agregará a todas las invocaciones del emulador desde Android Studio y le ahorrará muchos ciclos de CPU.


2

Desactive la ubicación en la configuración y también desactive los sonidos táctiles.


2

Estoy en macOS Catalina (versión 10.15.2) con Intel Core i9 y 16 GB de RAM y Radeon Pro 560X 4GB Graphics.

Resolví el uso elevado de CPU por qemu reiniciando el dispositivo emulado usando el botón de encendido emulado .

Además, mientras creaba el AVD, elegí HardwareGraphics Renderer en lugar de Auto.


2

En mi caso, fue el arranque rápido lo que estaba causando el problema, forzar el arranque normal a abrir el archivo de texto en C:\Users\<username>\.android\avd\<AVD name>\config.ini y cambiar al menos uno de los valores.

por ejemplo cambiar la linea

hw.battery=yes 

a

hw.battery=no

1

Actualizar:

He instalado el complemento Genymotion en genymotion.com/plugins, y tiene un rendimiento increíble


3
Genymotion es agradable y rápido, pero no gratuito para uso comercial.
Gary Bak

1

En mi caso, solo encontré este problema al ejecutar varias instancias del emulador.

Vuelva a ejecutar el instalador Intel Hardware Accelerated Execution Manager (HAXM) proporcionado en el SDK de Android ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe), seleccione Cambiar y vea cuánta memoria está asignada a HAXM. Si tiene 2 GB o menos, probablemente desee aumentarlo a al menos 4 GB. Luego reinicie su emulador y vea si el uso de la CPU disminuye.


No puedo acceder al botón Cambiar (está desactivado). ¿Existe una forma diferente de acceder a esa configuración?
polkduran

1

Tuve el mismo problema recientemente en Windows 10 (18363): el AVD usó todos los 16 subprocesos del host al 100%, parece que el android.hardware.graphics.composer@2.1-serviceproceso en el AVD fue el culpable.

Lo que ayudó en mi caso: ir a la AVD settings- Advanced- cambiar la OpenGL ES renderera Desktop native OpenGLy reinicie el AVD. Ahora usa como 2-3% de mis recursos de CPU. Espero que esto ayude a alguien.


Chicos, ustedes son estupendos. Usé la mayoría de las respuestas escritas arriba y ur, y el uso de la CPU bajó de 80 a 30: D: D
Ashu Kumar


0

Lo resolví cancelando "Guardar automáticamente el estado actual en Quickboot"

Instantáneas -> Configuración -> Guardar automáticamente el estado actual en Quickboot - NO


0

Usando una especie de versión antigua de Android , usé Lollipop Galaxy Nexus API 22 ¡ redujo el uso de CPU de 220% a alrededor de 30% ! ...

También cambié: Rendimiento emulado> Gráficos> Hardware

Usando Android Api 25 ... El hardware para gráficos y apagar el audio AVD y el GPS no funcionó para mí ...

Plataforma: MacOS


0

En mi caso fue el modo Avión , cuando se enciende, el uso de la CPU salta al 99% :

uso de CPU

El problema se notó en Android 10.0 x86.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.