Hohe CPU-Auslastung mit Android-Emulator (qemu-system-i386.exe)

102

Die CPU-Auslastung des Emulators qemu-system-i386.exe läuft fast ständig zwischen 7 und 9

Android Studio 2.1 Android SDK Tools: 25.1.3 Host-Betriebssystem: Windows 7 - i7 2630QM - 8 GB RAM Intel x86 Atom System Image installiert

Egal welche Einstellung ich im Emulator ändere: emulierte Leistung, Multi-Core-CPU, x86-64-Image, immer das Gleiche

Es ist wirklich nervig Fan immer an

Hat jemand eine Lösung für dieses Problem gefunden?

skystar7
quelle
1
Persönlich bevorzuge ich die Verwendung von Visua Studio Emulator für Android , einfach weil ich noch nie etwas so Effizientes gesehen habe, sowohl was die Leistung als auch die Verwendung der Hostressourcen betrifft . Allerdings muss Hyper-V auf dem Host aktiviert sein.
Matei Radu
Ich werde es gleich versuchen, danke für den Rat
skystar7
Entschuldigen Sie die falsche Hoffnung, aber erst jetzt habe ich festgestellt, dass Windows 7 nicht über Hyper-V verfügt, sodass der Emulator nicht auf Ihrem Host ausgeführt werden kann.
Matei Radu
1
es ist okay :) ... Ich teste jetzt mit dem Genymotion Plugin genymotion.com/plugins
skystar7

Antworten:

161

Die Ursache für die konstante CPU-Auslastung könnte der Ton sein. Wenn Sie keinen Sound in Ihrem Emulator benötigen, können Sie ihn deaktivieren, indem Sie die Konfigurationsdatei des AVD bearbeiten.

Ändern / fügen Sie diese beiden Zeilen hinzu

hw.audioInput=no
hw.audioOutput=no

Update: Wie von buncis kommentiert, können Sie auch versuchen, GPS zu deaktivieren, wenn es nicht benötigt wird:

hw.GPS = no 

Unter Linux / Mac befindet sich die Datei unter ~ / .android / avd / <AVD_Name> .avd / config.ini.
Unter Windows befindet sich die Datei unter C: \ Users \ <Benutzername> \ .android \ avd \ <AVD_Name>. avd \ config.ini

Benjamin Mesing
quelle
18
Hat auf meinem Mac nicht funktioniert - immer noch hohe CPU-Auslastung.
Leanne
1
Vielen Dank! Verringert von ~ 50% auf ~ 1-3%
mehmet6parmak
1
Ich habe einen Fehlerbericht geöffnet, um mehr über die ungewöhnliche CPU-Auslastung zu erfahren
Sebastiano
2
hw.GPS = no
Denken
2
@buncis danke, erst nach dem Deaktivieren von GPS funktioniert es
Max
19

Auf dem Mac bemerkte ich, dass der Emulator nach dem Einschlafen meines Laptops über 100% CPU verwendete. Das Ausschalten des Audios, wie Benjamin vorgeschlagen hatte, konnte dieses Problem nicht beheben.

Das Neustarten des simulierten Geräts durch langes Drücken des Netzschalters am Emulator funktioniert bei mir.

Antoine
quelle
14

Die Verwendung des x86_64-Emulators (oder des 64-Bit-Emulators) hat das Problem für mich gelöst. Sie empfehlen die x86-Version, aber sie hat sich für mich bewährt.

Bri6ko
quelle
2
Dies scheint unter MacOS notwendig zu sein.
Rasmusob
Hat mir sehr geholfen (macOS Mojave).
Amir J
Das ist zumindest für Mac die Lösung - ein großer Unterschied.
Lacho Tomov
10

So finden Sie heraus, was auf dem virtuellen Gerät die meiste CPU verwendet:

adb shell

$ top

Dies zeigt Ihnen eine Liste der Prozesse mit der höchsten CPU-Auslastung.

Auf diese Weise können Sie feststellen, ob es sich um einen Prozess (z. B. Ihre App) im Emulator, einen anderen Prozess im Emulator oder nur um die Emulation selbst mit viel CPU handelt.

Versuchen Sie im letzteren Fall, den Emulator durch Installation von HAX (Native Intel Instructions) zu optimieren, oder aktivieren Sie möglicherweise die Hardwarebeschleunigung mit dem AVD-Profileditor.

jorisw
quelle
8

Ich hatte dieses Problem Anfang November 2018.

Das virtuelle Gerät hat zufrieden versucht, eine Verbindung zu den Daten des Mobilfunknetzes herzustellen, daher habe ich es im Gerät selbst deaktiviert. Arbeite jetzt großartig.

s.lg.
quelle
8

Das gleiche Problem mit qemu unter Win7, HAXM 7.2.0. Ich habe versucht, Audio auszuschalten. Es hat nicht geholfen. Qemu verbraucht jederzeit etwa 20% der CPU. Android arbeitet sowohl bei x86- als auch bei x64-Bildern sehr langsam.

Ich habe Lösungen in der Versionshinweisdatei von HAXM gefunden:

  • Unter Windows kann Avast Antivirus HAXM stören und dazu führen, dass Android Emulator oder QEMU sehr langsam ausgeführt werden . Eine Problemumgehung besteht darin, das Kontrollkästchen "Verschachtelte Virtualisierung verwenden, sofern verfügbar" unter Avast-Einstellungen> Fehlerbehebung zu deaktivieren.

Ich habe Avast Pro Antivirus 18.5. Ich habe diesen Parameter deaktiviert, den PC neu gestartet und jetzt verbraucht qemu 0% im Leerlauf, Android funktioniert einwandfrei.

UPDATE: Wenn QEMU erneut CPU verbraucht, überprüfen Sie zuerst den Aktualisierungsstatus von Avast. Nach dem Hintergrundupdate kann Avast erneut anfangen, HAXM zu stören. Starten Sie einfach Windows neu, um das Problem zu beheben.

Nexus7fm
quelle
1
OMG ... hat perfekt funktioniert. Nach dem 10-minütigen Deaktivieren von Avast wurde die CPU-Auslastung auf 15% und nach einem Neustart auf 1,4% reduziert. Vielen Dank!
Ali.DM
1
Avast ... war auch für mich das Problem
xcesco
Das war unglaublich. Die CPU-Auslastung ging von 50% auf 4% zurück. Vielen Dank @Nexus
Zaheer
3

Mein Fall, denn ich wähle softwarefür die Grafikwiedergabe in adv. Nach einer Änderung der hardwareCPU-Auslastung von 60 auf 10 und der CPU-Temperatur von 70 auf 40.

Baltschun Ali
quelle
Das schien für mich zu funktionieren. Unter Software lief der Emulator immer ~ 106. Der Wechsel zur Hardware dauert ca. 24 Stunden. Kann jedoch bei der Interaktion mit dem Emulator einen Spitzenwert von über 200 erreichen. Wird aber schnell auf ~ 24 sinken, wenn Sie nicht interagieren. Dies scheint die beste Lösung zu sein, anstatt die Konfigurationseinstellungen aktualisieren zu müssen, die Sie möglicherweise später aktivieren müssen.
ant2009
2

Ich habe die CPU-Auslastung meines Emulators reduziert, indem ich die Framerate des Monitors auf 60 Hz eingestellt habe. Es war auf 144 Hz und meine CPU lief mit 60% - 70%. Wenn Sie nur die Framerate des Monitors ändern, liegt die Auslastung jetzt bei 3%.

soniiic
quelle
Kannst du führen, wo du es getan hast?
Ajit Kumar Dubey
In Ihren Monitoreigenschaften gibt es eine Option für die Bildschirmaktualisierungsrate. Stellen Sie es auf 60 Hz oder weniger ein
soniiic
2

Ich konnte das Audio nicht mit der Datei config.ini ausschalten, sondern nur mit dem Argument -noaudio cmd line für qemu. Mit Android Studio 3.2 können Sie dem Emulator jedoch keine benutzerdefinierten Argumente hinzufügen. Deshalb habe ich Folgendes gemacht:

Im Emulatorverzeichnis des Android SDK, in meinem Fall ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Erstellen Sie ein Bash-Skript namens Emulator mit dem Inhalt:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Dann:

chmod +x emulator

Jetzt wird das Argument -noaudio zu allen Aufrufen des Emulators von Android Studio hinzugefügt und spart Ihnen viele CPU-Zyklen.

Magnus Berg
quelle
2

Deaktivieren Sie den Standort in den Einstellungen und deaktivieren Sie auch Touch-Sounds.

Waqas Shah
quelle
1

Aktualisieren:

Ich habe das Genymotion-Plugin unter genymotion.com/plugins installiert und es hat eine erstaunliche Leistung

skystar7
quelle
3
Genymotion ist nett und schnell, aber nicht kostenlos für den kommerziellen Gebrauch.
Gary Bak
1

In meinem Fall ist dieses Problem nur aufgetreten, wenn mehrere Instanzen des Emulators ausgeführt wurden.

Führen Sie das im Android SDK ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe) bereitgestellte Installationsprogramm für den Intel Hardware Accelerated Execution Manager (HAXM) erneut aus , wählen Sie Ändern und sehen Sie, wie viel Speicher HAXM zugewiesen ist. Wenn es 2 GB oder weniger sind, möchten Sie es wahrscheinlich auf mindestens 4 GB erhöhen. Starten Sie dann Ihren Emulator neu und prüfen Sie, ob die CPU-Auslastung sinkt.

Austin B.
quelle
Ich kann nicht auf die Schaltfläche Ändern zugreifen (sie ist deaktiviert). Gibt es eine andere Möglichkeit, auf diese Konfiguration zuzugreifen?
Polkduran
1

Ich bin auf macOS Catalina (Version 10.15.2) mit Intel Core i9 und 16 GB RAM und Radeon Pro 560X 4 GB Grafik.

Ich habe die hohe CPU-Auslastung durch qemu gelöst, indem ich das emulierte Gerät mit dem emulierten Netzschalter neu gestartet habe .

Außerdem habe ich beim Erstellen der AVD Hardwareanstelle von Graphics Renderer gewählt Auto.

shashwat_247
quelle
1

In meinem Fall war es der schnelle Start, der das Problem verursachte. Um einen normalen Start zu erzwingen, öffnen Sie die Textdatei C:\Users\<username>\.android\avd\<AVD name>\config.iniund ändern Sie mindestens einen der Werte.

Ändern Sie zum Beispiel die Zeile

hw.battery=yes 

zu

hw.battery=no
Bereket Kassahun
quelle
1

Ich hatte kürzlich das gleiche Problem unter Windows 10 (18363): Die AVD hat alle 16 Threads des Hosts zu 100% verwendet. Es scheint, dass der [email protected]Prozess auf der AVD schuld war.

Was in meinem Fall geholfen: AVD gehen settings- Advanced- ändern die OpenGL ES rendererzu Desktop native OpenGLund die AVD neu starten. Jetzt verbraucht es 2-3% meiner CPU-Ressourcen. Hoffe das hilft jemandem.

Droidman
quelle
Ihr seid unglaublich. Ich habe alle oben genannten Antworten verwendet, und die CPU-Auslastung ging von 80 auf 30 zurück: D: D
Ashu Kumar
0

Das Ändern der Auflösung hat bei mir funktioniert. Ich habe Oreo 8.1 mit 1440 x 2560 560 dpi verwendet . Jetzt benutze ich M-DPI Oreo 8.1

Siphamandla Held Ngwenya
quelle
0

Ich habe es gelöst, indem ich "Aktuellen Status automatisch in Quickboot speichern" abgebrochen habe.

Schnappschüsse -> Einstellungen -> Aktuellen Status automatisch in Quickboot speichern - NEIN

Osman Yılmaz
quelle
0

Mit einer alten Android-Version habe ich die Lollipop Galaxy Nexus API 22 verwendet und die CPU-Auslastung von 220% auf etwa 30% gesenkt! ...

Ich habe auch gewechselt: Emulierte Leistung> Grafik> Hardware

Verwenden von Android Api 25 ... Hardware für Grafiken und Ausschalten von AVD-Audio und GPS hat bei mir nicht funktioniert ...

Plattform: MacOS

Hend El-Sahli
quelle
0

In meinem Fall war es der Flugzeugmodus , wenn eingeschaltet, springt die CPU-Auslastung auf 99% :

CPU auslastung

Das Problem wurde unter Android 10.0 x86 festgestellt.

vovahost
quelle
0

In meinem Fall löste die Verwendung von Hardware-Grafik mein Problem.

Geben Sie hier die Bildbeschreibung ein

AlirezA Barakati
quelle