Utilisation élevée du processeur avec l'émulateur Android (qemu-system-i386.exe)


105

L'utilisation du processeur de l'émulateur qemu-system-i386.exe fonctionne presque constamment entre 7 et 9

Android studio 2.1 Outils du SDK Android: 25.1.3 Système d'exploitation hôte: Windows 7 - i7 2630QM - 8 Go de RAM Image système Intel x86 Atom installée

Quel que soit le paramètre que je change dans l'émulateur, comme: performances émulées, processeur multicœur, image x86-64, toujours la même chose

C'est vraiment ennuyeux fan toujours allumé

Quelqu'un a eu un correctif pour ce problème?


1
Personnellement, je préfère utiliser Visua Studio Emulator pour Android , simplement parce que je n'ai jamais vu quelque chose d'aussi efficace, à la fois en termes de performances et d'utilisation des ressources de l'hôte. Bien que cela nécessite Hyper-V activé sur l'hôte.
Matei Radu

Je vais essayer maintenant, merci pour le conseil
skystar7

Désolé pour le faux espoir, mais seulement maintenant, j'ai trouvé que Windows 7 n'a pas Hyper-V, de sorte que l'émulateur ne peut pas fonctionner sur votre hôte.
Matei Radu

1
ça va :) ... Je teste maintenant avec le plugin Genymotion genymotion.com/plugins
skystar7

Réponses:


166

La cause de l'utilisation constante du processeur pourrait être le son. Si vous n'avez pas besoin de son dans votre émulateur, vous pouvez le désactiver en éditant le fichier de configuration de l'AVD.

Changer / ajouter ces deux lignes

hw.audioInput=no
hw.audioOutput=no

Mise à jour: comme buncis l'a commenté, vous pouvez également essayer de désactiver le GPS si cela n'est pas nécessaire:

hw.GPS = no 

Sous Linux / Mac, le fichier se trouve dans ~ / .android / avd / <AVD_Name> .avd / config.ini
Sous Windows, le fichier se trouve dans C: \ Users \ <username> \ .android \ avd \ <AVD_Name>. avd \ config.ini


18
Ne fonctionnait pas sur mon Mac - utilisation toujours élevée du processeur.
leanne

1
@antoine: cela a en fait résolu mon problème - j'ai modifié le mauvais fichier config.ini. Le redémarrage n'aurait pas pu faire de mal non plus.
leanne

1
Merci! Diminution de ~ 50% à ~ 1-3%
mehmet6parmak

2
envisagez également de désactiver le GPS si vous ne l'utilisez pashw.GPS = no
buncis

2
@buncis merci, ce n'est qu'après avoir désactivé le GPS que cela fonctionne
Max Zonov

19

Sur Mac, j'ai remarqué que l'émulateur utilisait plus de 100% du processeur après la mise en veille de mon ordinateur portable. Désactiver l'audio comme Benjamin l'a suggéré n'a pas résolu ce problème.

Le redémarrage de l'appareil simulé en appuyant longuement sur le bouton d'alimentation de l'émulateur fonctionne pour moi.


16

L'utilisation de l'émulateur x86_64 (ou 64 bits) l'a résolu pour moi. Ils recommandent la version x86, mais cela agissait pour moi.


4
Cela semble nécessaire sur MacOS.
Rasmusob

1
M'a beaucoup aidé (macOS Mojave).
Amir J

C'est la solution au moins pour Mac - une énorme différence.
Lacho Tomov

11

Pour savoir ce qui utilise le plus de CPU sur le périphérique virtuel:

adb shell

$ top

Cela vous montrera une liste de processus avec l'utilisation du processeur la plus élevée.

Cela vous aidera à déterminer s'il s'agit d'un processus (tel que votre application) à l'intérieur de l'émulateur, d'un autre processus à l'intérieur de l'émulateur ou simplement de l'émulation elle-même utilisant beaucoup de CPU.

Dans ce dernier cas, essayez d'optimiser l'émulateur en installant HAX (Native Intel instructions) ou peut-être activer l'accélération matérielle à l'aide de l'éditeur de profil AVD.


8

J'ai eu ce problème début novembre 2018.

L'appareil virtuel essayait constamment de se connecter aux données du réseau mobile, alors je l'ai éteint à l'intérieur de l'appareil lui-même. Travaillez très bien maintenant.


8

Le même problème avec qemu sur Win7, HAXM 7.2.0. J'ai essayé de désactiver l'audio, cela n'a pas aidé, qemu consomme environ 20% du processeur à tout moment, Android fonctionne très lentement sur les images x86 et x64.

J'ai trouvé des solutions dans le fichier Notes de publication de HAXM:

  • Sous Windows, Avast Antivirus peut interférer avec HAXM et provoquer un fonctionnement très lent de l' émulateur Android ou de QEMU . Une solution de contournement consiste à décocher "Utiliser la virtualisation imbriquée, le cas échéant" dans Paramètres Avast> Dépannage.

J'ai Avast Pro Antivirus 18.5. J'ai décoché ce paramètre, redémarré le PC et maintenant qemu consomme 0% en veille, Android fonctionne bien.

MISE À JOUR: si QEMU a recommencé à consommer du CPU, vérifiez d'abord l'état de mise à jour d'Avast. Après la mise à jour en arrière-plan, Avast peut recommencer à interférer avec HAXM. Redémarrez simplement Windows pour le résoudre.


1
OMG ... a parfaitement fonctionné. Après avoir désactivé Avast pendant 10 minutes, l'utilisation du processeur a été réduite à 15% et après un redémarrage à 1,4%. Merci beaucoup!
Ali.DM

1
Avast ... était le problème pour moi aussi
xcesco

C'était incroyable. L'utilisation du processeur a chuté de 50% à 4%. Merci @Nexus
Zaheer

3

mon cas, car je choisis softwarepour le rendu graphique en adv. Ainsi, après un changement de la hardwareréduction de l'utilisation du processeur de 60 à 10 et de la température du processeur de 70 à 40.


Cela semblait fonctionner pour moi. sur le logiciel, l'émulateur fonctionnait toujours ~ 106 tout le temps. Le passage au matériel dure environ ~ 24. Mais peut culminer à plus de ~ 200 lors de l'interaction avec l'émulateur. Mais descendra rapidement à ~ 24 lorsqu'il n'interagit pas. Cela semble être la meilleure solution plutôt que d'avoir à mettre à jour les paramètres de configuration dont vous pourriez avoir besoin ultérieurement.
ant2009

2

J'ai réduit l'utilisation du processeur de mon émulateur en réglant le framerate du moniteur à 60 Hz. C'était à 144 Hz et mon processeur fonctionnait à 60% - 70%. En ne changeant que le framerate du moniteur, il est maintenant assis à 3% d'utilisation.


pouvez-vous guider où vous avez fait?
Ajit Kumar Dubey

Dans les propriétés de votre moniteur, il y aura une option pour le taux de rafraîchissement de l'écran. Réglez-le sur
60 Hz

2

Je n'ai pas pu couper l'audio avec le fichier config.ini, mais uniquement avec l'argument de ligne -noaudio cmd de qemu. Cependant, avec Android Studio 3.2, vous ne pouvez pas ajouter d'arguments personnalisés à l'émulateur, j'ai donc fait ceci:

Dans le répertoire de l'émulateur du SDK Android, dans mon cas ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Créez un script bash appelé émulateur avec le contenu:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Ensuite:

chmod +x emulator

Maintenant, l'argument -noaudio sera ajouté à toutes les invocations de l'émulateur depuis Android Studio et vous fera économiser beaucoup de cycles CPU.


2

Désactivez la localisation dans les paramètres et désactivez également les sons tactiles.


2

Je suis sur macOS Catalina (version 10.15.2) avec Intel Core i9 et 16 Go de RAM et Radeon Pro 560X 4 Go Graphics.

J'ai résolu l'utilisation élevée du processeur par qemu en redémarrant le périphérique émulé à l'aide du bouton d'alimentation émulé .

De plus, lors de la création de l'AVD, j'ai choisi HardwareGraphics Renderer au lieu de Auto.


2

Dans mon cas, c'était le démarrage rapide qui causait le problème, pour forcer le démarrage normal, ouvrir le fichier texte C:\Users\<username>\.android\avd\<AVD name>\config.iniet modifier au moins une des valeurs.

par exemple changer la ligne

hw.battery=yes 

à

hw.battery=no

1

Mettre à jour:

J'ai installé le plugin Genymotion sur genymotion.com/plugins, et il a une performance incroyable


3
Genymotion est agréable et rapide, mais pas gratuit pour un usage commercial.
Gary Bak

1

Dans mon cas, je n'ai rencontré ce problème que lors de l'exécution de plusieurs instances de l'émulateur.

Réexécutez le programme d'installation d'Intel Hardware Accelerated Execution Manager (HAXM) fourni dans le SDK Android ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe), sélectionnez Modifier et voyez la quantité de mémoire allouée à HAXM. S'il s'agit de 2 Go ou moins, vous souhaiterez probablement l'augmenter à au moins 4 Go. Ensuite, redémarrez votre émulateur et voyez si l'utilisation du processeur diminue.


Je ne parviens pas à accéder au bouton Modifier (il est désactivé). Existe-t-il une manière différente d'accéder à cette configuration?
polkduran

1

J'ai eu le même problème récemment sur Windows 10 (18363): l'AVD a utilisé tous les 16 Threads de l'hôte à 100%, il semble que le android.hardware.graphics.composer@2.1-serviceprocessus sur l'AVD était à blâmer.

Ce qui a aidé dans mon cas: va AVD settings- Advanced- changer OpenGL ES rendererpour Desktop native OpenGLet redémarrer le AVD. Maintenant, il utilise environ 2-3% de mes ressources CPU. J'espère que cela aide quelqu'un.


vous êtes des gars étonnants. J'ai utilisé la plupart des réponses écrites ci-dessus et ur, et l'utilisation du processeur est passée de 80 à 30: D: D
Ashu Kumar le

0

Changer la résolution a fonctionné pour moi. J'utilisais 1440 x 2560 560 dpi Oreo 8.1. J'utilise maintenant M-DPI Oreo 8.1


0

Je l'ai résolu en annulant "Sauvegarde automatique de l'état actuel dans Quickboot"

Instantanés -> Paramètres -> Enregistrement automatique de l'état actuel dans Quickboot - NON


0

En utilisant une sorte d'ancienne version d'Android, j'ai utilisé Lollipop Galaxy Nexus API 22 a fait chuter l'utilisation du processeur de 220% à environ 30% ! ...

J'ai également changé: Performance émulée> Graphiques> Matériel

Utilisation d' Android Api 25 ... Le matériel graphique et la désactivation de l'audio AVD et du GPS ne fonctionnaient pas pour moi ...

Plateforme: MacOS


0

Dans mon cas, c'était le mode avion , lorsqu'il est activé, l'utilisation du processeur passe à 99% :

l'utilisation du processeur

Le problème a été remarqué sur Android 10.0 x86.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.